Derzeit macht mein Code folgendes. Er durchsucht eine SpalteA in TabelleA nach einem bestimmten WertA und kopiert dann für jeden gefundenen WertA einen WertB aus einer SpalteB der selben Zeile in eine andere TabelleC. Und zwar von rechts unten nach links oben bis alle Plätze voll sind. (Es sind 64 Stück)
Nun möchte ich den Prozess erst ab dem 65. Eintrag aus SpalteA beginnen. Bei meinen bisherigen Versuchen wollte Excel leider nicht so wie ich das wollte. ^^
funktionierender Code sieht wie folgt aus:
Dim lRow As Long, lRowL As Long, lRowT As Long, bln As Boolean
Sheets("test").Activate
lRowL = Cells(Rows.count, 9).End(xlUp).Row
lRowT = 1
Worksheets("Tabelle32").Range("A1:H16").ClearContents
For lRow = 2 To lRowL
If Cells(lRow, 27).Value = "LCK45" Then
lRowT = lRowT + 1
If Sheets("Tabelle32").Cells(16, 1).Value = 0 Then
Sheets("Tabelle32").Cells(16, 10 - lRowT).Value = Cells(lRow, 20).Value
Else
If Sheets("Tabelle32").Cells(14, 1).Value = 0 Then
Sheets("Tabelle32").Cells(14, 18 - lRowT).Value = Cells(lRow, 20).Value
Else
If Sheets("Tabelle32").Cells(12, 1).Value = 0 Then
Sheets("Tabelle32").Cells(12, 26 - lRowT).Value = Cells(lRow, 20).Value
Else
If Sheets("Tabelle32").Cells(10, 1).Value = 0 Then
Sheets("Tabelle32").Cells(10, 34 - lRowT).Value = Cells(lRow, 20).Value
Else
If Sheets("Tabelle32").Cells(8, 1).Value = 0 Then
Sheets("Tabelle32").Cells(8, 42 - lRowT).Value = Cells(lRow, 20).Value
Else
If Sheets("Tabelle32").Cells(6, 1).Value = 0 Then
Sheets("Tabelle32").Cells(6, 50 - lRowT).Value = Cells(lRow, 20).Value
Else
If Sheets("Tabelle32").Cells(4, 1).Value = 0 Then
Sheets("Tabelle32").Cells(4, 58 - lRowT).Value = Cells(lRow, 20).Value
Else
If Sheets("Tabelle32").Cells(2, 1).Value = 0 Then
Sheets("Tabelle32").Cells(2, 66 - lRowT).Value = Cells(lRow, 20).Value
Else
MsgBox ("Blatt ist voll")
Exit Sub
End If
End If
End If
End If
End If
End If
End If
End If
End If
Next lRow
End Sub
Ich wollte jetzt bei der MsgBox vor Exit Sub eine Abfrage einbauen um den Prozess ab .ClearContents zu wiederholen und hätte hier:
If Sheets("Tabelle32").Cells(2, 1).Value = 0 Then
Sheets("Tabelle32").Cells(2, 66 - lRowT).Value = Cells(var65 + lRow, 20).Value
eine zusätzliche Variable eingebaut die ab Eintrag 65 zählt.
Aber so richtig funktionieren tut das nicht. Excel scheint dann irgendwie mit der Gesamtzahl an Treffern durcheinander zu kommen.
Mag mir vielleicht Jemand helfen :]