SpecialCells(xlCellTypeLastCell) lügt m.E.
Reinhard
in einem Blatt sind in Zeilen 1 und 2 Überschriften.
In Zeile 19 und 20 sind Summenformeln und so'n Kram.
In A3 bis A18 stehen fortlaufende Nummern.
Ich möchte nun die unterste irgendwo befüllte Zeile in B3:H18 ermitteln.
Specialcells liefert das falsche Ergebnis. Siehe Prozedur Falsch.
Indem ich alle Zellen in dem Bereich abklappere liefert mir die Prozedur Richtig das korrekte Ergebnis.
Einzelne Zellen eines Bereiches abzuklappern kostet aber Zeit wenn der Zellbereich sehr groß ist.
Dann hätte ich als einzige Idee die ich dazu habe in einer Hilfsspalte per Vba =Anzahl() bzw. Anzahl2() reinschreiben lassen und das dann per Vba ausgewertet.
Benutze ich SpecialCells falsch? Oder gibt es mir unbekannte oder mir nicht eingefallene Möglichkeiten
in einer CodeZeile die unterste belegte Zeile eines Bereichs zu ermitteln, wenn unterhalb des Bereiches noch weitere gefüllte Zellen sind?
Hier eine Beispieldatei dazu: https://www.herber.de/bbs/user/76846.xls
PS: einem nacktem Mann in die Tasche zu greifen ist schwierig. Griechenland soll kein Geld haben sagt man. Das haben wohl die nicht gewußt die eine griechische Bank am Athener Flughafen wohl am So um 1 Million (unsrer?) Euros erleichtert haben.
Merke, Unkenntnis schützt vor plötzlichem Reichtum nicht *grins*
Danke ^Gruß
Reinhard
Option Explicit
Sub Falsch()
Dim Zei As Long
Zei = Range("B3:H18").SpecialCells(xlCellTypeLastCell).Row
MsgBox Zei
End Sub
Sub Richtig()
Dim Zelle As Range, Zei As Long
For Each Zelle In Range("B3:H18")
If Zelle.Value "" Then
If Zelle.Row > Zei Then
Zei = Zelle.Row
End If
End If
Next Zelle
MsgBox Zei
End Sub