Ich habe eine Datei mit Tabellenblättern nach Monat, worin ich den Bestelleingang führe. In einem weiteren Blatt möchte ich nun die Monate untereinander zusammenführen.
Das Makro soll von den gewünschten Tabellenblättern den Bereich A5 bis zur letzen beschriebenen Zeile kopieren und in das erstellte Sammelblatt ab Zeile 2 untereinander einfügen.
Bei Aktualisierung soll der Inhalt des Sammelblatts (ab Zeile 2) gelöscht und neu aufgebaut werden.
Ich habe bereits einen Schnipsel, den jemand mit VBA Kenntnissen ja vielleicht anpassen kann?
Vielen Dank im Voraus für eure Mithilfe.
Private Sub CommandButton1_Click()
Dim mon(12) As String
mon(0) = "AB18"
mon(1) = "Jan"
mon(2) = "Feb"
mon(3) = "Mrz"
mon(4) = "Apr"
mon(5) = "Mai"
mon(6) = "Jun"
mon(7) = "Jul"
mon(8) = "Aug"
mon(9) = "Sep"
mon(10) = "Okt"
mon(11) = "Nov"
mon(12) = "Dez"
Dim AB As Worksheet
Set AB = Worksheets("Auftragsbestand")
Dim iZ&, iB%, iRmon&, iC&
iZ = 5
With AB
.Range("a5:k" & .Cells.SpecialCells(xlCellTypeLastCell).Row).ClearContents 'löscht den Inhalt _
_
_
_
_
des Blattes Auftragsbestand (Spalten A-I komplett, außer Zeile 1-5)
End With
For iB = 0 To 12
With Worksheets(mon(iB))
For iRmon = 3 To .[m65536].End(xlUp).Row 'sucht im Bereich von A3 bis M65536 die letzte _
_
_
_
_
beschrieben Zelle (das ist in diesem Fall immer das letzte x in der Spalte M)
If .Cells(iRmon, 14) = "x" Then
For iC = 1 To 8
AB.Cells(iZ, iC) = .Cells(iRmon, iC) 'Kopiert A bis H nach A-H
Next
AB.Cells(iZ, 8) = .Cells(iRmon, 9) 'kopiert G nach H
AB.Cells(iZ, 9) = .Cells(iRmon, 11) 'kopiert I nach G
AB.Cells(iZ, 10) = .Cells(iRmon, 15) 'kopiert M nach J
iZ = iZ + 1 'Variable wird für die nächste Zeile erhöht
End If
Next
End With
Next
End Sub