bei der Zellenangabe wurde die falsche variable lastRow1 statt lastRow2 angegeben
Sub CombineData()
' Deklaration der Variablen
Dim wb As Workbook
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim ws3 As Worksheet
Dim lastRow1 As Long
Dim lastRow2 As Long
Dim i As Long
Dim j As Long
Dim x As Long
Dim k As Long
' Arbeitsmappe und Arbeitsblätter referenzieren
Set wb = ThisWorkbook
Set ws1 = wb.Worksheets("Länderzuordnung") ' Anpassen der Blattnamen
Set ws2 = wb.Worksheets("Neue Produkte_S.Verweis")
Set ws3 = wb.Worksheets("KPI Land_Prod. Bericht_VBA")
' Letzte Zeile in Tabelle 1 ermitteln
lastRow1 = ws1.Cells(Rows.Count, 1).End(xlUp).Row
' Letzte Zeile in Tabelle 2 ermitteln
lastRow2 = ws2.Cells(Rows.Count, 1).End(xlUp).Row
' Schleife über alle Zeilen in Tabelle 1 (ab Zeile 3)
For i = 3 To lastRow1
' Für jedes Land alle Produkte aufführen
For x = 1 To lastRow2
' Für akt Zeile Spalten A bis I füllen
For j = 1 To 9 ' Tabblatt Alle Länder
ws3.Cells((i - 3) * lastRow2 + x, j).Value = ws1.Cells(i, j).Value
Next j
' Für akt Zeile Spalten J bis L füllen
For k = 1 To 3 'Tabblatt Produkte Spalten A bis C
ws3.Cells((i - 3) * lastRow2 + x, 9 + k).Value = ws2.Cells(x + 1, k).Value
Next k
Next x
Next i
End Sub
|