Der folgende Code fügt jeden Wert über 10 in dem Blatt auf die „Over10“ Bereich gründet:Iteration vs. Bereich über Union erstellt
Sub IterateOver10()
Dim Over10 As Range
For Each cell In ActiveSheet.UsedRange.Cells
If cell > 10 Then
If Over10 Is Nothing then
Set Over10 = cell
Else
Set Over10= Union(cell,Over10)
End If
End If
Next cell
Ich möchte „Over10“ mit einem durch jedes Element iterieren Schleife und prüfen, ob es in einem anderen Bereich existiert. Das Problem ist, dass die folgende Iteration:
For each cell2 in Over10
' check if exists in another range
next cell2
nicht für eine Reihe funktioniert auf diese Weise erklärt, weil es den Bereich von cell2 bis (cell2 + die Anzahl der Over10) stattdessen zu verwenden scheint. Irgendwelche Vorschläge für eine Problemumgehung. Soll ich stattdessen Arrays verwenden?
Danke, Bartek
Arrays sind viel schneller als Schleifen über Zellen auf einem Arbeitsblatt. – Brian
es wird jedes Element in Over10 iterieren. Das wird eine Reihe von Bereichen sein. – QHarr