Salu Reinhard,
nein, .find muß nicht verwendet werden. Ich dachte nur, damit wäre es der eleganteste Weg.
vielleicht so, müßte durch Vbanutzung von vielfach schnelleren
Excelfunktionen sehr schnell sein auch bei XL 2007.
Sub Finden()
Dim Formel As String
Formel = „=WENN(A1"“" & Selection.Value & „“";ZEILE();"""")"
Range(Cells(1, 26), Cells(Selection.Row, 26)).FormulaLocal =
Formel
MsgBox „unterster anderer Eintrag in A“ &
Application.Max(Columns(26))
Columns(26).ClearContents
End Sub
Dat hilft leider nicht, weil ich die Chose nicht als angezeigten Zellwert benötige, sondern um das Einfügen und Löschen von Blockabschnitten unterschiedlicher Höhe zu bewerkstelligen. Das .find soll die in einer versteckten Hilfsspalte enthaltenen Start- und Endmarker finden, damit der Block entsprechend behandelt werden kann. Ich habe mir aber jetzt mit Do … While beholfen. Ist halt nicht so schön, aber läuft; da die Blöcke auch meist nur ein paar Zeilen hoch sind, auch recht schnell.
Errorhandler kannste dir leicht selbst basteln, google nach
dem Wort…
Errorhandler - schon gemacht. Aber wieso kommt der Hinweis gerade hier? Gibt es in Deinem Codebeispiel einen anders nicht umschiffbaren Error-Fall? Ich habe so etwas beim Löschen von Contents öfter: immer wenn ich .SpecialCells(xlCellTypeConstants).ClearContents anwende und
keine Contents drinne sind, kommt eine Fehlermeldung. Also sieht die Chose bei mir so aus:
Sub Soundso()
On Error GoTo SorryLeute
...
On Error Resume Next
.SpecialCells(xlCellTypeConstants).ClearContents
On Error GoTo Sorry Leute
...
Exit Sub
SorryLeute:
...
End Sub
Geht das eleganter?
Beste Grüße
-Rob.