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
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
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:
Gruß
Rainer
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
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
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
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