Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1760to1764
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
Erste Leere Zelle in Spalte finden
04.06.2020 11:58:07
ErikSnase
Hallo,
Ich habe in VBA zwei Textfelder in der man Werte eintragen kann und diese sollen dann mit einem CommandButton in die Excel- Tabelle übertragen werden.
Der Wert in dem ersten Textfeld soll in die erste freie Zelle der 3 . Spalte und der Wert in dem zweiten Textfeld soll in die erste freie Zelle der 4. Spalte.
Es besteht die Möglichkeit in beide Textfelder was reinzuschreiben, aber man kann auch nur in ein Textfeld was reinschreiben.
Wenn bspw. in Textfeld 1 ein Wert eingegeben wird aber in Textfeld 2 nicht und man mit dem CommandButton den Eintrag in die Excel- Tabelle übertragen will, soll in der ersten freien Zelle der 3. Spalte der eingegebene Wert und in der ersten freien Zelle der 4. Spalte eine 0 eingetragen werden (man hat ja nichts in Textfeld 2 einegeben).
Man muss das sicherlich mit einer Variable machen, leider habe ich keine Ahnung wie das geht. Daher benötige ich deine Hilfe.
Letzte Frage: Wie kann ich sagen, dass die definierte Variable erst bei bspw. Spalte 3 zeile 3 anfängt und bei Spalte 3 zelle 28 aufhört?
Vielen Dank

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erste Leere Zelle in Spalte finden
04.06.2020 12:02:11
Regina
Hi,
so ganz werde ich auch deiner Beschreibung nicht schlau. Vielleicht lädst Du mal eine Beispieldatei hoch. Um die letzte Zeile mit Inhalt in einer Spalte zu ermitteln, kannst Du den folgenden Code nutzen (hier wird in Spalte 3 gesucht):
lng_letzte_zeile = Worksheets("Tabelle1").Cells(Rows.Count,3).End(xlUp).Row
Gruß Regina
AW: Erste Leere Zelle in Spalte finden
04.06.2020 12:21:52
ErikSnase
Hey, erstmal vielen Dank. Ich hab jetzt mal eine ganz einfache Datei erstellt.
https://www.herber.de/bbs/user/138012.xlsm
Also wenn man was in Textfeld 1 was reinschreibt und in Textfeld 2 nichts, soll in der Tabelle in "Anzahl Z." der eingetragene wert übernommen werden und in "Anzahl R." soll eine 0 eingteragen werden.
Und das verknüpft mit einer Variable der die erste frei Zelle in Spalte D bzw E sucht und den wert dann einträgt und dann eine Zelle weitergeht
Anzeige
AW: Erste Leere Zelle in Spalte finden
04.06.2020 12:34:00
Regina
... meinst Du so?
Private Sub CommandButton1_Click()
Dim lng_letzte_zeile As Long
With Worksheets("Tabelle1")
lng_letzte_zeile = .Cells(Rows.Count, 4).End(xlUp).Row
.Cells(lng_letzte_zeile + 1, 4) = Me.TextBox1
If Me.TextBox2 = "" Then
.Cells(lng_letzte_zeile + 1, 5) = 0
Else
.Cells(lng_letzte_zeile + 1, 5) = Me.TextBox2
End If
End With
End Sub
Wenn ja, bist Du mit den Spaltenangaben etwas verrutscht.
Gruß Regina
AW: Erste Leere Zelle in Spalte finden
04.06.2020 12:44:07
ErikSnase
Ja super,
vielen Dank für den Aufwand.
Kann ich mich vielleicht nochmal unter dem Beitrag melden, falls ich doch noch eine Frage habe? Weil du scheinst ahnung zu haben. Oder wie kann ich mich am besten bei dir melden?
Bin neu in diesem Forum :D
Anzeige
AW: Erste Leere Zelle in Spalte finden
04.06.2020 12:53:57
ErikSnase
Eine Frage habe ich direkt noch :D
Kann man irgendwie definieren, dass Zeile 16 die letzte Zeile ist die beschrieben wird, sprich ab Zeile 17 wird nichts mehr eingetragen?
AW: Erste Leere Zelle in Spalte finden
04.06.2020 13:57:47
Matthias
Hallo
Na da spring ich mal ein.
Option Explicit
Private Sub CommandButton1_Click()
Dim lng_letzte_zeile As Long
With Worksheets("Tabelle1")
lng_letzte_zeile = .Cells(.Rows.Count, 4).End(xlUp).Row
If Cells(lng_letzte_zeile, 4).Row > 15 Then
CommandButton1.Enabled = False: Exit Sub
End If
.Cells(lng_letzte_zeile + 1, 4) = Me.TextBox1
If Me.TextBox2 = "" Then
.Cells(lng_letzte_zeile + 1, 5) = 0
Else
.Cells(lng_letzte_zeile + 1, 5) = Me.TextBox2
End If
End With
End Sub
Gruß Matthias
Anzeige
hab einen Punkt vor Cells vergessen ...
04.06.2020 14:02:04
Matthias

Option Explicit
Private Sub CommandButton1_Click()
Dim lng_letzte_zeile As Long
With Worksheets("Tabelle1")
lng_letzte_zeile = .Cells(.Rows.Count, 4).End(xlUp).Row
 If .Cells(lng_letzte_zeile, 4).Row > 15 Then
CommandButton1.Enabled = False: Exit Sub
End If
.Cells(lng_letzte_zeile + 1, 4) = Me.TextBox1
If Me.TextBox2 = "" Then
.Cells(lng_letzte_zeile + 1, 5) = 0
Else
.Cells(lng_letzte_zeile + 1, 5) = Me.TextBox2
End If
End With
End Sub

AW: Erste Leere Zelle in Spalte finden
04.06.2020 14:11:37
ErikSnase
Hey Matthias
wirklich vielen lieben Dank!
Eine andere Frage noch: Wenn die Excel- Tabelle leer ist außer in einer Zeile steht was (siehe Datei), dann fängt er ja nicht oben in der ersten freie Zeile an sondern, er fängt erst unter der beschriebenen Zeile an. Kann ich irgendwie definieren, dass wenn schon was in der Zeile steht, dass er dann die nächste freie Zelle auswählt und die beschriebene sozusagen überspringt?
Bsp.: die Zellen D4- D9 sind leer, nur in D10 steht was. Bei dem bisherigen Code ist es dann so, dass der dann in D11 anfängt die Tabelle zu befüllen. Geht es vielleicht so, dass er D4-D9 trotzdem befüllt D10 dann überspringt (weil da was drin steht) und dann bei D11 weitermacht?
https://www.herber.de/bbs/user/138013.xlsm
Ich hoffe das ist verständlich
Anzeige
AW: Erste Leere Zelle in Spalte finden
04.06.2020 14:37:09
Gerd
Moin
Private Sub CommandButton1_Click()
Dim efz As Long
With Worksheets("Tabelle1")
If IsEmpty(.Cells(4, 4)) Then
efz = 4
ElseIf IsEmpty(.Cells(5, 4)) Then
efz = 5
Else
efz = .Cells(4, 4).End(xlDown) + 1
End If
If efz > 16 Then
MsgBox "Kein Platz mehr!"
Else
.Cells(efz, 4) = Me.TextBox1
.Cells(efz, 5) = IIf(Me.TextBox2 = "", 0, CVar(Me.TextBox2))
End If
End With

Gruß Gerd
AW: Erste Leere Zelle in Spalte finden
04.06.2020 14:44:57
ErikSnase
Hey Gerd, auch dir danke ich!!
Es gibt nur nen Problem sobald ich zweimal eine Angabe mache.
Hier soll der fehler liegen:
efz = .Cells(4, 4).End(xlDown) + 1
Liebe Grüße
erik
Anzeige
AW: .Cells(4, 4).End(xlDown).Row + 1
04.06.2020 14:51:59
Gerd
Upps, die Row fehlte.
AW: Erste Leere Zelle in Spalte finden
04.06.2020 14:46:38
Matthias

Private Sub CommandButton1_Click()
Dim Loletzte As Long, RnG As Range
With Worksheets("Tabelle1")
For Each RnG In .Range("D4:D16")
If RnG = "" Then
.Cells(RnG.Row, 4) = Me.TextBox1
If Me.TextBox2 = "" Then
.Cells(RnG.Row, 5) = 0
Else
.Cells(RnG.Row, 5) = Me.TextBox2
End If
Exit For
End If
Next
End With
End Sub
Gruß Matthias
AW: Erste Leere Zelle in Spalte finden
04.06.2020 15:04:43
ErikSnase
danke matthias!!
Ich wünsche allen einen schönen Tag noch.
Wirklich vielen Dank für euren Aufwand!!!

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige