Ich importiere eine Liste und füge oder lösche verschiedene Spalten, formatiere sie und fülle sie mit Formeln, die bis zum letzten Eintrag der Liste runterkopiert werden sollen.
Workbooks.Open Filename:="Pfad"
.
.
.
Range("B2").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(R2C[-1]:R6000C[-1],RC[-1])"
Range("B2").Select
Selection.AutoFill Destination:=Range("B2:B3889"), Type:=xlFillDefault
Range("B2:B3889").Select
Der Zellbereich variiert zwischen 3000 und 6000 Zeilen.
Mit dem Schritt
Sub Liste()
Cells(1, 1).Select
Selection.CurrentRegion.Select
End Sub
den mir ein netter User dieses Forums geschickt hatte, kann ich zwar den Gesamtlistenbereich ermitteln, aber wie kann ich diese Information im weiteren Makro verwenden?
Die Range bei "Selection.AutoFill Destination:=Range" müsste sich dann auf den vorher ermittelten Wert beziehen.
Welche Möglichkeiten gibt es da?
Im Weiteren will ich die Range als Grundlage für eine Pivattabellenabfrage nehmen
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Tabelle1!R1C1:R5372C26").CreatePivotTable TableDestination:=Range("A3"), _
TableName:="PivotTable1"
Auch hier wäre eine Möglichkeit toll, den vorher ermittelten Bereich als SourceData automatisch vorzugeben. Vielleicht kann man auch ein Fenster (Userform)im laufenden Makro aufpoppen lassen, in das der Bereich eingetragen werden muss, wenn er benötigt wird, also wenn nach der SourceData für die Pivottabelle gefragt wird. Das löst allerdings nicht das erste Problem, wo die Formeln bis in die letzte Zelle runterkopiert werden sollen.
Schon einmal tausend Dank an alle, die mir helfen möchten.
Axel