Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

VBA - erste leere Zelle in einem Bereich





Frage

Guten Morgen! Mal wieder eine Frage an die (VBA-)Profis. Ich möchte gerne den Curser auf die erste leere Zelle in einem [b]bestimmten[/b] Bereich positionieren. Ich habe schon ein wenig im Forum gestöbert aber "nur" [url]https://supportnet.de/threads/1514023[/url] gefunden. Leider wird hier immer lediglich die letzte Zelle des [u]gesamten[/u] Blattes ermittelt. Meine Anforderung sieht allerdings anders aus. Geprüft werden soll z. B. der Bereich C20 bis C60. Ist in C35 der letzte Eintrag, dann soll die Zelle C36 aktiviert werden. Vielleicht hat jemand einen Lösungsansatz für mich. Ciao Tom

Antwort 1 von Hajo_Zi

Hallo Tom,

im ersten Teil möchtest Du die erste freie finden im letzten teil möchtest Du die Zelle ach dem letzten Eintrag finden. Das sind zwei unterschiedliche Sachen. C12 ist frei. Welche Zelle möchtest Du jetzt finden.
C12 mit Fin
C36 mit
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 3)), Cells(Rows.Count, 3).End(xlUp).Row, Rows.Count)+1

Gruß Hajo

Antwort 2 von Tomschi

Hi Hajo!

Vorweg DANKE, dass Du Dich meinem Problem angenommen hast.
Sorry, für die verwirrende Formulierung meiner Frage!

Ich habe einen Bereich eben z. B. C20 bis C60.
Dieser beinhaltet Einträge. Nun soll per VBA der Cursor auf die erste freie Zelle NACH dem letzten Eintrag innerhalb des Bereichs positioniert werden.

Ich habe Deinen Code in meine Mustertabelle hineinkopiert, aber es passiert nichts.
Siehe dazu Musterdatei unter http://www.netupload.de/detail.php?img=e3b324bd0b87f569533c2cc4f6b5....

Ciao

Tom

Antwort 3 von rainberg

Hallo Tom,

probier mal das:

Sub test()
 Cells(Range("C60").End(xlUp).Row + 1, 3).Select
End Sub


Gruß
Rainer

Antwort 4 von Tomschi

Hallo Rainer!

Vielen DANK für Deinen Support!
Jetzt kann ich beruhigt Mittagessen.

Bye

Tom

Antwort 5 von gast123

hi all

bei beiden ist keine bereichsangabe angegeben und kann daher nicht funktionieren

gruss gast123

Sub SelectionEinesBereiches()
Workbooks(1).Worksheets(1).Range("C20:C60").Find("").Select
End Sub

Antwort 6 von Tomschi

Hallo Gast123!

Ich habe Deinen Code auch ausprobiert.
Jedoch einen Fehler bekommen:
Laufzeitfehler '91'
Objektvariable oder With-Blockvariable nicht festgelegt.

Ich bin ja kein VBA-Profi, aber irgendwie sieht es für mich aus, als ob Dein Code nach einer Zelle mit "" sucht.
Ich möchte jedoch die Zeile nach dem letzten Eintrag aktivieren.

Der Code aus Antwort 3 funktioniert einwandfrei.

Bye

Tom