Formeln in unterschiedlich langen Tabellen(VBA)
Moin,
ich aktualisiere täglich die Grundlage einer Pivot-Tabelle. Dabei öffne ich die entsprechende Datei und eine Andere(hat immer den gleichen Namen), in der die aktuellen Werte stehen. Allerdings hat diese nur 5 Spalten. Diese 5 Spalten kopiere ich in den Datenbereich der PT. Rechts von den 5 Spalten sind nochmal 5 Spalten mit Formeln, die sich auf die ersten 5 beziehen. Zusammen bilden sie den Datenbereich der PT. Da die Anzahl der Zeilen jeden Tag unterschiedlich sind, würde ich gerne ein Makro schreiben, das automatisch die 5 Spalten kopiert und die anderen 5 Formeln in richtiger Anzahl erweitert oder kürzt(nach unten kopiert/löscht).
Das der Datenbereich in der PT sich aktualisiert habe ich schon hinbekommen.
Das kopieren selbst traue ich mir zu, aber mir ist nicht ganz klar, wie ich die Anzahl der Zeilen ermittle, nachdem ich die ersten 5 Spalten kopiert habe.
Danke schonmal
Antwort schreiben
Antwort 1 von Tomschi vom 29.09.2021, 09:03 OptionsLösung
Halli Hallo!
Ich habe vor kurzem ein ähnliches Problem gehabt und mir folgenden Code gebastelt:
Beispiel:
Sub Formelanzahl_festlegen()
Application.ScreenUpdating = False
var01 = Range("A65536").End(xlUp).Row 'Ermittlung der Zeilen in Spalte A
var02 = Range("D65536").End(xlUp).Row 'Ermittlung der Zeilen in Spalte D
If var01 = var02 Then GoTo Ende 'Falls Anzahl A und D gleich sind --> Ende
If var01 > var02 Then
Range("D2:F2").Copy 'Kopieren der Formeln aus D2:F2
Range("D" & var02 + 0 & ":F" & var01).Select
ActiveSheet.Paste
Range("a1").Select
Application.CutCopyMode = False
Else
Range("D" & var01 + 1 & ":F" & var02).ClearContents
Range("a1").Select 'Falls die Formlen länger sind als der Datenbereich werden diese gelöscht.
Application.CutCopyMode = False
End If
Ende:
End Sub
Natürlich mußt Du den Code für Dich anpassen, aber vielleicht
hilft er Dir ja ein wenig.
Ciao
Tom
Antwort 2 von ghoul-xtc vom 29.09.2021, 12:38 Options
Super, hat funktioniert! Danke!