Hallo Ich bin neu in VBA und ich versuche, über eine Sammlung iterieren und eine Aktion für jeden Wert ausführen.Iterieren über eine Sammlung (VBA)
Hier ist mein Code:
Sub makeRowsMatch()
Dim rows As VBA.Collection
Set rows = New VBA.Collection
Dim i As Integer
Dim j As Integer
Dim y As Integer
For i = 2 To 22203
For j = 2 To 121
If Cells(i, 2).Value <> Cells(j, 38) Then
rows.Add (i)
End If
Next j
Next i
For Each y As Object in rows
rows(y).Delete
Next y
End Sub
Ich halte auf einen Fehler in der Leitung bekommen:
For Each y As Object in rows
Es auf hält gelb hervorgehoben zu werden, aber wenn ich die obige Zeile entfernen, ist das erhalten folgender Fehler:
For Each control variable must be Variant or Object
Könnte jemand erklären, warum es mich nicht über die Werte iterieren lässt? Die ganze Frage des Erklärens von Variablen ist neu für mich. Danke!
Ich glaube nicht, dass Sie in VBA wie folgt Schleife können. Anstatt "Für jedes y als Objekt in Reihen", oben, "Dim y als Variante" und Ihre Schleife kann sein "Für jedes y in Reihen" – sous2817