Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
956to960
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Letzte Zeile & Aussengrenze eines Ranges ermitteln

Letzte Zeile & Aussengrenze eines Ranges ermitteln
04.03.2008 17:10:23
Andreas
Hallo Herber Fans,
wie kann ich die letzte benutzte Zeile/ Aussengrenze eines Ranges ermitteln?
z.B. über: ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row ermittle ich die letzte benutzte Zeile im aktiven Blatt. Das klappt. Ich möchte diese Suche nach der letzten benutzten Zeile aber nur auf einen bestimmten Range eingrenzen, der über eine Namensdef. hinterlegt ist.
ActiveSheet.Range("TEST").UsedRange.SpecialCells(xlCellTypeLastCell).Row
funktioniert aber leider nicht. Wo ist der Fehler? Der Range ist doch sauber definiert.
Der Range TEST ist durch eine Namensdefinition hinterlegt, die B1:B100 reicht. Und ich habe bspw. bis B84 Werte drin. Dann wird für die letzte Zeile eine 84 ausgegeben. Aber was, wenn ich die 100 haben möchte, um zu prüfen, ob ich nicht meine Ranges anpassen müßte? Ich habe es über xlCellTypeVisible versucht, daß auch ohne Erfolg. Diese Prüfung sollte auch im Range laufen und sich nicht auf das ganze Blatt erstrecken.
Vielen Dank für Eure Gedanken und Ideen zu diesem Thema.
Grüße, Andreas Hanisch

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzte Zeile & Aussengrenze eines Ranges ermit
04.03.2008 17:30:12
Matthias
Hallo Andreas
Ein Versuch
Funktioniert so aber nur für Werte (nicht bei Formeln).

Sub letzte()
Dim c As Variant, Addy As String, Inh As String
For Each c In Range("TEST")
If c.Value  "" Then Inh = c.Value: Addy = c.Address
Next
MsgBox "Adresse: " & vbLf & Addy & vbLf & vbLf & "Inhalt der Zelle: " & vbLf & Inh
End Sub


Hilft das weiter?
Gruß Matthias

hatte Zelle statt Zeile gelesen, Korrektur
04.03.2008 17:34:00
Matthias
Hallo nochmal
Hatte Zelle statt Zeile gelesen.
Könnte dann so funktionieren:

Sub letzte()
Dim C As Variant, Addy As String
For Each C In Range("TEST")
If C.Value  "" Then Addy = C.Row
Next
MsgBox "Zeile =  " & Addy
End Sub


Gruß Matthias

Anzeige
AW: hatte Zelle statt Zeile gelesen, Korrektur
04.03.2008 17:45:03
Andreas
Hi Matthias,
na das funktioniert einwandfrei!!!
Danke Dir für die schnelle und gute Antwort. Hast Du noch eine Idee, wie die absolute Außengrenze bestimmt werden kann?
Wenn nicht, dann Danke nochmals für Deinen Einsatz.
Grüße aus Berlin, Andreas

AW: hatte Zelle statt Zeile gelesen, Korrektur
04.03.2008 17:52:00
Matthias
Hallo Andreas
meinst Du so:

Sub letzte()
Dim C As Variant, Addy As String
For Each C In Range("TEST")
Addy = C.Address
Next
MsgBox Addy
End Sub


Ich bin sicher das geht auch kürzer und ohne Schleife, aber ich komm noch nicht drauf.
Gruß Matthias

Anzeige
AW: hatte Zelle statt Zeile gelesen, Korrektur
04.03.2008 18:02:37
Andreas
Hi Matthias,
Ich würde mal sagen: Genial!
Das die Lösung so nah liegt.... Ich habe es in einem Range von 2.000 Zeilen laufen lassen und es dauert ein Augenzwinkern, kürzer muß es also nicht unbedingt sein.
Vielen, vielen Dank an Dich!
Grüße, Andreas

und hier mit einer Formel ohne VBA ;o)
04.03.2008 20:33:34
Matthias
Hallo nochmal
Schau auch mal hier vorbei:
http://www.excelformeln.de/formeln.html?welcher=48
So könnte es also aussehen.
Userbild
Gruß Matthias
Anzeige

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige