Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1912to1916
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
Inhaltsverzeichnis

VBA - erste freie Zelle finden in Spalte

VBA - erste freie Zelle finden in Spalte
16.01.2023 14:18:43
Dirk
Im Rahmen eines umfangreicheren Makros muss ich im Makro folgendes hinterlegen, damit die leeren Zellen dieser Spalte korrekt gefüllt werden:
In einer bestimmten Spalte mit der Taste F5 und im Dialogfenster "Gehe zu" Klick auf Inhalte und Auswählen "Leerzeilen". Soweit so gut. Jetzt soll das Makro die erste freie Zelle in dieser Spalte finden und in der Eingabezeile bspw eintragen: =Y3 (Y = Spaltenname und 3 wäre hier als Bsp die erste freie Zelle).
Kann mir jemand das als VBA zur Verfügung stellen? Danke im Voraus

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

Betreff
Datum
Anwender
Anzeige
AW: VBA - erste freie Zelle finden in Spalte
16.01.2023 15:04:45
Daniel
Hi (wenn das ergänzen würdest, sähe dein Beitrag gleich viel freundlicher aus)
beispielsweise so:

ActiveCell.Formula = "=" & Range("Y:Y").Find(what:="", after:=Cells(Rows.Count, "y"), LookIn:=xlFormulas, lookat:=xlWhole).Address(0, 0)
sollte die die Zeile 1 in dieser Spalte immer befüllt sein (Überschrift), dann kannst du das "after:=cells(Rows.count, "Y"), " auch weglassen. Diese Anweisung braucht man nur für den Fall, das auch die Zeile 1 die erste leere Zelle sein könnte, diese wird ansonsten nicht gefunden, weil die Suche sonst erst in der zweiten Zelle des angegebenen Zellbereichs beginnt.
die Leerzelle über das F5 (in VBA SpecialCells) zu ermitteln ginge prinzipiell auch (Columns("Y:Y").SpecialCells(xlcelltypeblanks)(1)), hat aber den Nachteil, dass es einen Fehlerabbruch gibtt, wenn in der Spalte der verwendete Zellbereich vollständig befüllt ist (dh dass es in der Tabelle keine Spalte gibt, die noch weiter mit Werten oder Formatierungen befüllt ist)
Gruß Daniel
Anzeige
AW: VBA - erste freie Zelle finden in Spalte
16.01.2023 15:22:01
Dirk
Hallo Daniel,
Du hast recht, das hatte ich übersehen im Eifer des Gefechts.
Richtig, Zeile 1 ist immer schon mit einer Überschrift beleg, die erste Zelle wird daher niemals leer sein. Wenn ich jetzt allerdings das Makro wie folgt teste, erhalte ich beim kompilieren schon eine Fehlermeldung

Sub LeerZelle()
ActiveCell.Formula = "=" & Range("Y:Y").Find(what:="", "y"),Lookin:=xlFormulas, lookat:=xlWhole).Adress(0, 0)
End Sub
Fehler beim Kompilieren: Syntaxfehler.
Es wird immer leere Zellen geben, daher wäre (Columns("Y:Y").SpecialCells(xlcelltypeblanks)(1)) vielleicht besser, aber wie sähe das Makro denn dann aus? Danke
Was mache ich noch verkehrt?
Anzeige
AW: VBA - erste freie Zelle finden in Spalte
16.01.2023 15:26:35
Dirk
Ergänzung:
Mein Makro mit F5 und Markierung der leeren Zellen in dieser Spalte und dem Eintrag in der Eingabezeile sieht bisher so aus:
Columns("X:X").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Application.CutCopyMode = False
Selection.FormulaR1C1 = "=R[1]C"
Er soll mir mithilfe eines Makros ja nur die Zelladresse der ersten freien Zelle in Spalte X finden (nicht die Zelle markieren) und diesen Wert/diese Adresse mit "=" gefolgt von der Zelladresse in die Eingabezeile eintragen und mit STRG + ENTER abschicken
AW: VBA - erste freie Zelle finden in Spalte
16.01.2023 16:15:23
Daniel
HI
die erste Frage ,die mich interessieren würde, warum durchsuchst du in der Eingangsfrage die Spalte Y und jetzt plötzlich die Spalte X?
es wäre besser, wenn wir uns auf eine Spalte einigen könnten, das macht es einfacher, passenden Code zu schrieben, denn du dann nicht nachträglich anpassen musst.
der Fehler in deiner Umsetzung war, dass du den Parameter AFTER nicht vollständig rausgelöscht hast sondern nur teilweise, das was ich hier fett und unterstrichen markiert habe, hast du vergessen zu löschen:
ActiveCell.Formula = "=" & Range("Y:Y").Find(what:="", "y"), Lookin:=xlFormulas, lookat:=xlWhole).Adress(0, 0)
aber du hättest den Code ja auch so testen können, wie ich ihn dir gezeigt habe, das ändert eigentlich nichts am Ergebnis.
das andere wäre folgendes, warum ich das nicht verwendet habe, habe ich ja geschrieben.

ActiveCell.Formula = "=" & Range( keine Ahnung, was du als nächste als Spalte haben willst, trags bitte selber ein).SpecialCells(xlcelltypeblanks)(1).Address(0, 0)
Gruß Daniel
Anzeige
AW: VBA - erste freie Zelle finden in Spalte
16.01.2023 15:07:49
Rudi
Hallo,
EingabeZelle = sheets("tabellenname").cells(rows.count, 25).end(xlup).offset(1).address
Gruß
Rudi
AW: VBA - erste freie Zelle finden in Spalte
16.01.2023 15:33:09
Dirk
Hallo Rudi, danke schon einmal. Wo genau würde ich das denn in meinem Makro einbauen?
Mein Makro mit F5 und Markierung der leeren Zellen in dieser Spalte und dem Eintrag in der Eingabezeile sieht bisher so aus:
Columns("X:X").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Application.CutCopyMode = False
Selection.FormulaR1C1 = "=R[1]C"
Er soll mir mithilfe eines Makros ja nur die Zelladresse der ersten freien Zelle in Spalte X finden (nicht die Zelle markieren) und diesen Wert/diese Adresse mit "=" gefolgt von der Zelladresse in die Eingabezeile eintragen und mit STRG + ENTER abschicken
Anzeige

336 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige