Hallo an das Forum,
ich habe ein Makro geschrieben, es funktioniert auch soweit ganz gut.
Das Ziel ist es die Anzahl der Zeilen auf 2 Tabellenblättern (ListObject) gleich zu halten,
Hier wird aber immer nur ein Zeile gelöscht bzw. erweitert, wenn ich das Makro über F8 laufen lasse sehe ich das Zeile für Zeile abgearbeitet wird.
Gibt es eine Möglichkeit die Zeilen auf dem Tabellenblatt Ausarbeitung zu zählen und dann komplett die andere Tabelle zu erweitern bzw. zu reduzieren.
Also ich meine es so:
Worksheets("Ausarbeitung").ListObjects("Tab_Ausarbeitung")
„zähle Anzahl der Zeilen“ z.B. 750
Worksheets("Kalkulation").ListObjects("Tab_Kalkulation")
„zähle Anzahl der Zeilen“ z.B. 250
Rechne 750-250= 500
Füge 500 Zeilen ein.
Wobei „Worksheets("Ausarbeitung").ListObjects("Tab_Ausarbeitung") „ immer angibt wie viele Zellen es sind.
Ist das möglich?
Dim lr As ListRow
Dim lo1 As ListObject
Dim lo2 As ListObject
Dim zMax1 As Long
Dim zMax2 As Long
Dim diff As Long
Dim i As Long
Set lo1 = Worksheets("Ausarbeitung").ListObjects("Tab_Ausarbeitung")
Set lo2 = Worksheets("Kalkulation").ListObjects("Tab_Kalkulation")
zMax1 = lo1.ListRows.Count
zMax2 = lo2.ListRows.Count
diff = zMax1 - zMax2
If diff > 0 Then
For i = 1 To diff
Set lr = lo2.ListRows.Add
Next i
ElseIf diff < 0 Then
For i = zMax2 To zMax2 + diff Step -1
lo2.ListRows(i).Delete
Next i
End If
Vielen DAnk im voraus
|