|  
                                             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 
     |