Excel: mehrere Tabellenblätter hintereinander zusammenführen (VBA)

Martin Asal @, Mittwoch, 27.05.2020, 20:56 (vor 38 Tagen) @ buska

Hallo Buska,

ich bin leider relativ neu in VBA-Coding

Das Tutorial ist dafür da, Hilfe zur Selbsthilfe zu geben :-) Deswegen hier ein nur minimal überarbeiteter Code:

Sub join()
Dim wb As Workbook, main As Worksheet, sh As Worksheet
Dim i As Long
 
Set wb = ActiveWorkbook
Set main = wb.Sheets(1)       'Statt "1" geht hier auch der Name des Ziel-Sheets

 
'Jetzt durch alle Sheets durchgehen
For i = 2 To wb.Sheets.Count  'Falls das Zielsheet das erste ist, überspringen
    Set sh = wb.Sheets(i)
 
    main.Range("B1:C4").Value = sh.Range("B1:C4").Value
 
Next
 
End Sub


Natürlich kann main.Range("B1:C4") so nicht bleiben, den String musst du immer nach unten verschieben. Sonst überschreibst du ja immer.

Aber diese Anpassung bekommst du bestimmt selbst hin. Nochmal der Tipp mit der Prozedur "Erledigt", die ja durch einen Bereich hindurchgeht: So eine Schleife kann man leicht umbauen, um herauszubekommen, wie viele Zeilen das Programm nach unten gehen muss, und damit dann den String "B1:C4" duch einen selbst errechneten String zu ersetzen.

Martin


gesamter Thread:

 RSS-Feed dieser Diskussion

powered by my little forum