Hallo zusammen :-)
Ich möchte ein Makro erstellen, welches in Tabelle "Kampf" die Spalte B nach Wörtern absucht, die in Spalte A ein X stehen haben. Die mit "x" markierten Wörter soll er im Tabellenblatt "Initiative" in Spalte E finden. Das Wort in der gefundenen Zeile markiert die Zeile (j). Aus dieser Zeile (j) sollen die Spalten L bis CF kopiert werden und im Tabellenblatt Kampf in die zuvor gefundene Zeile (i) in die Spalten H bis CB kopiert werden.
Ich habe es hiermit versucht, doch er zeigt mit den Fehler "Index außerhalb des gültigen Bereichs" an.
Sub neue_Daten()
'Deklaration der Variablen
Dim i As Long, j As Long
'Durchlaufen der Zellen im Tabellenblatt "Kampf" in Spalte B
For i = 3 To 100
'Prüfen, ob die Zelle in Spalte A ein "x" enthält
If Worksheets("Kampf").Cells(i, 1) = "x" Then
'Durchlaufen der Zellen im Tabellenblatt "Initiative" in Spalte E
For j = 3 To 100
'Prüfen, ob die Zelle im Tabellenblatt "Kampf" und "Initiative" übereinstimmt
If Worksheets("Kampf").Cells(i, 2) = Worksheets("Initiative").Cells(j, 5) Then
'Kopieren der Werte aus den Spalten L bis CF in die Spalten H bis CB im Tabellenblatt "Kampf"
Worksheets("Kampf").Range(Cells(i, 8), Cells(i, 80)).Value = Worksheets("Initiative").Range(Cells(j, 12), Cells(j, 84)).Value
End If
Next j
End If
Next i
End Sub
Wenn ich die Zeile Worksheets("Kampf").Range(Cells(i, 8), Cells(i, 80)).Value = Worksheets("Initiative").Range(Cells(j, 12), Cells(j, 84)).Value wie folgt ändere, dann funktioniert das Makro, jedoch natürlich ohne die Variable und nur wenn ich das Worksheet "Kampf" aktiv habe.
Sub neue_Daten()
'Deklaration der Variablen
Dim i As Long, j As Long
'Durchlaufen der Zellen im Tabellenblatt "Kampf" in Spalte B
For i = 3 To 100
'Prüfen, ob die Zelle in Spalte A ein "x" enthält
If Worksheets("Kampf").Cells(i, 1) = "x" Then
'Durchlaufen der Zellen im Tabellenblatt "Initiative" in Spalte E
For j = 3 To 100
'Prüfen, ob die Zelle im Tabellenblatt "Kampf" und "Initiative" übereinstimmt
If Worksheets("Kampf").Cells(i, 2) = Worksheets("Initiative").Cells(j, 5) Then
'Kopieren der Werte aus den Spalten L bis CF in die Spalten H bis CB im Tabellenblatt "Kampf"
Worksheets("Kampf").Range(Cells(i, 8), Cells(i, 80)).Value = Worksheets("Initiative").Range("L14:CF14").Value
End If
Next j
End If
Next i
End Sub
Hat jemand eine Idee?
Danke für Eure Unterstüttzung.
|