Ich bei ein absoluter VBA/Makro-Neuling und wurde vermehrt auf dieses Forum aufmerksam gemacht :-)
Folgende Problematik:
Ich habe eine große Excel-Datei, die jeden Monat um weitere Zeilen erweitert wird. Aus dieser Excel-Datei möchte ich monatlich nur bestimmte gefilterte Datensätze in eine andere Datei übernehmen. Dabei ist zu beachten, daß die Quelldatei mehr Spalten als die Zieldatei hat. Bisher habe ich folgende Programmierung:
Sub Test()
' Makro1 Makro
' test1
ActiveSheet.Range("$A$1:$Z$39063").AutoFilter Field:=13, Criteria1:=Array( _
"Deutschland", "Frankreich", "Spanien", "Italien", "Norwegen"), Operator:= _
xlFilterValues
Range("A2:C39062").Select
Selection.Copy
Windows("Zieldatei.xls").Activate
Range("B2").Select
ActiveSheet.Paste
Windows("Quelldatei.xls").Activate
Range("E2:E39062").Select
Selection.Copy
Windows("Zieldatei.xls").Activate
Range("E2").Select
ActiveSheet.Paste
Windows("Quelldatei.xls").Activate
Range("H2:R39062").Select
Selection.Copy
Windows("Zieldatei.xls").Activate
Range("F2").Select
ActiveSheet.Paste
Windows("Quelldatei.xls").Activate
Range("T2:X39062").Select
Selection.Copy
Windows("Zieldatei.xls").Activate
Range("Q2").Select
ActiveSheet.Paste
Windows("Quelldatei.xls").Activate
Range("Z2:AA39062").Select
Selection.Copy
Windows("Zieldatei.xls").Activate
Range("V2").Select
ActiveSheet.Paste
Windows("Queldatei.xls").Activate
End Sub
Das ist bestimmt sehr kompliziert geschrieben, aber ich bekomme so genau die Daten rüber wie ich sie haben will.
Nun wurden in der Quelldatei weitere Zeilen zugefügt (die für September). Ich habe einen Filter gesetzt, daß nur die Septemberdaten angezeigt werden und das Makro ausgeführt. Er übernimmt auch die Daten in die Zieldatei, fängt jedoch in B2 an,sprich überschreibt einen Teil der alten Daten. Ich möchte, daß er diese Daten jedoch unten an die letzte Zeile aus dem Vormonat einfügt. Wie kann ich das Makro entsprechend ändern?
Eine weitere Problematik ist, daß es jetzt z.B. Range("A2:C39062").Select heißt. Die Datei wird jedoch jeden Monat erweitern, sprich weitere Zeilen zugefügt. Wie kann man das so programmieren, daß er bis zur letzten Zeile der Quelldatei guckt und die Daten übernimmt und nicht bei Zeile 39062 aufhört?
Ich hoffe mir kann hier jemand weiterhelfen.
Vielen Dank im voraus.