>> [...] du meintest du würdest nicht mit ActiveCell und .Activate arbeiten. Was würdest du denn stattdessen verwenden?
Er meint statt z.B.
Tabelle2.[A3].Activate
IngLast = 3
Do Until ActiveCell = st
ActiveCell.Offset(1, 0).Activate
If ActiveCell <> st Then
IngLast = IngLast + 1
End If
Loop
zu schreiben, schreibt man:
IngLast = 3
Do Until Tabelle2.Range("A3") = st 'man schreibt besser -> Tabelle2.Range("A3").Value
If Tabelle2.Range("A3").Offset(1, 0)<> st Then 'hier das gleiche -> .Offset(1, 0).Value
IngLast = IngLast + 1
End If
Loop
oder noch etwas besser/schöner:
IngLast = 3
With Tabelle2.Range("A3")
Do Until .Value = st
If .Offset(1, 0) <> st Then
IngLast = IngLast + 1
End If
Loop
End With
PS: Die Schreibeweise
Tabelle2.[A3]
ist veraltet und kostet etwas mehr rechenzeit als wenn man schreibt:
Tabelle2.Range("A3")
'oder:
'Tabelle2.Cells(3, "A")
Man sollte also darauf verzichten und bessere die entspr. Methode dafür verwenden.
PPS: Den Code selber habe ich jetzt nicht weiter auf Sinn geprüft.
Gruß
|