#1 20. Mai 2009 [Visual Basic] Hilfe bei Makro Hallo zusammen! ich benötige eure Hilfe, ich bin gerade dabei eine excel tabelle mit sehr vielen daten aus einem versuch auszuwerten! dafür ist ein makro vorhanden, dass ich ein bisschen abändern musste, hat soweit auch alles geklappt! da ich aber eigentlich nicht viel ahnung von visual basic habe, sitze ich jetzt vor einem kleinen problem... hier ein screenshot: http://www3.pic-upload.de/20.05.09/8h55hv.jpg erklärung: Kraft min/max und Weg min/max wird aus jeweils 25 Zeilen von AP und AQ berechnet....MAX(AP82:AP106)...MIN(AP82:AP106) usw.... aus den ersten 25 Zeilen ist das die Kraft -304.... Mein Problem: jetzt bräuchte ich noch eine funktion die mir AR-AZ werte von diesen zeilen hintenreinkopiert (BC-...), also quasi für den ersten wert -304 die markierte Zeile im Screen, in BC82-...! der Code sieht so aus: Code: 'Berechnung Min/Max Dim zaehler6 As Long Dim n As Integer Range("A82").Select Range(Selection, Selection.End(xlDown)).Select zaehler6 = Selection.Rows.Count Range("BA93").Select n = 0 Do While n < zaehler6 'Kraft ActiveCell.FormulaR1C1 = "=Min(R[-11]C[-11]:R[13]C[-11])" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "=Max(R[-12]C[-11]:R[12]C[-11])" ActiveCell.Offset(-1, 1).Range("A1").Select 'Weg ActiveCell.FormulaR1C1 = "=Min(R[-11]C[-11]:R[13]C[-11])" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "=Max(R[-12]C[-11]:R[12]C[-11])" ActiveCell.Offset(0, 0).Range("A1").Select ActiveCell.Offset(24, -1).Range("A1").Select n = n + 25 Loop 'Löschen der leeren Zeilen Dim zaehler7 As Long Dim o As Integer Range("A82").Select Range(Selection, Selection.End(xlDown)).Select zaehler7 = Selection.Rows.Count Range("BA82:BD92").Select o = 0 Do While o < zaehler7 Selection.Delete Shift:=xlUp ActiveCell.Offset(2, 0).Range("A1:E23").Select o = o + 25 Loop ich bin über jede hilfe dankbar! + Multi-Zitat Zitieren
#2 22. Mai 2009 AW: [Visual Basic] Hilfe bei Makro Also wenn ichs richtig verstehe möchtest du jede Zelle in der Spalte BA durchgehen, den Wert der jeweiligen Zelle in der Spalte AP suchen und dann aus dieser Zeile die Spalten AR-AZ kopieren und bei der Spalte BC - ... in der Zeile mit dem Wert nach dem gesucht wurde einfügen, so weit richtig? Wenn ja würde ich das so machen: Code: Sub kopieren() Dim KraftN As Range Dim Zelle As Range For Each Zelle In Range("BA82", Cells(150, "BA")) Set KraftN = Range("AP82", Cells(150, "AP")).Find(what:=Zelle.Value) If Not KraftN Is Nothing Then Range(Cells(KraftN.Row, KraftN.Column + 2), Cells(KraftN.Row, KraftN.Column + 10)).Copy (Cells(Zelle.Row, Zelle.Column + 2)) Next End Sub In diesem Fall wäre die Tabelle allerdings nur 150 Zeilen lang. Bei längeren Tabellen musst du die 150 im Code noch ersetzen. Greetz + Multi-Zitat Zitieren
#3 26. Mai 2009 AW: [Visual Basic] Hilfe bei Makro hmm, danke schonmal, aber so funktioniert das leider nicht! er kopiert so nicht die richtigen zahlen rein, sondern werte aus ganz anderen Zellen hat vielleicht sonst noch jemand ne idee? + Multi-Zitat Zitieren