Userform-Eingabe in die nächste freie Zelle

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Userform-Eingabe in die nächste freie Zelle
von: Gerhard S.
Geschrieben am: 24.11.2003 10:38:07

Hallo,
momentan hakt´s wieder, wie ich mit einer Userform-Textbox Einträge in eine fest eingegebene Zelle übertrage weiss ich inzwischen. Wenn aber die Einträge in eine ständig wachsende Tabelle vorgenommen werden, das hab ich noch nicht drauf....
Ich möchte nämlich folgendes: Mit Hilfe einer Userform sollen in 5 Zellen Werte eingegeben und dann in eine Tabelle übertragen werden. Diese Werte bleiben in der Tabelle aber bestehen, also müssen die nächsten Eintäge in eine Zeile tiefer eingetragen werden.
Wie mach ich das?
Als Zusatzschwierigkeit muss noch dazu die erste Textbox>Zelle in TT.MM.JJ, hh:mm formatiert werden. Kann ich das dann einfach in die Textbox so eingeben, oder gibt´s da was einfacheres?

mfg

Gerhard S.

Bild


Betrifft: AW: Userform-Eingabe in die nächste freie Zelle
von: Nicolaus
Geschrieben am: 24.11.2003 13:07:24

Hallo,
folgendes Vorgehen müsste funktionieren. Falls du deine Werte nach drücken eines Buttons o.ä. an die Tabelle übergibst, dann benutze doch im "Click" Ereignis usedRange.rows.count um herauszukriegen, wo die erste freie Spalte ist. Hierhinein schreibst du dann die neuen Daten.
Willst du pro Aufruf des Formulars nur einen Datensatz übertragen, so kannst du die Abfrage auch in das intialize-Ereignis des Formulares einbinden.

MfG

Nicolaus


Bild


Betrifft: AW: Userform-Eingabe in die nächste freie Zelle
von: Gerhard S.
Geschrieben am: 24.11.2003 13:44:43

Hallo,
also Danke Nicolaus für die schnelle Antwort, aber so gut sind meine VBA Kenntnisse nun auch wieder nicht....
Hier ist der Ausgangscode:


Private Sub CommandButton1_Click()
[G1].Value = TextBox1.Value
[H1].Value = TextBox2.Value
[I1].Value = TextBox3.Value
[J1].Value = TextBox4.Value
[K1].Value = TextBox5.Value
End Sub


mfg

Gerhard S.


Bild


Betrifft: AW: Userform-Eingabe in die nächste freie Zelle
von: Nicolaus
Geschrieben am: 25.11.2003 09:49:52

Moin moin,
dann basteln wir mal ein bißchen weiter...


Private Sub CommandButton1_Click()
Dim Datenblatt As Object 'Datenblatt als Objektvariable
Set Datenblatt = ThisWorkbook.Sheets("Tabelle1") 'Tabelle1 --> Name der Tabelle
'Berechnung der ersten ungenutzten Zeile
'Prüfung ob Datenblatt leer
If Datenblatt.Range("G1").Value = Empty Then
Leerzeile = 1 'Wenn Datenblatt leer, dann wird als Datenbereich die erste Zeile definiert,
'da UsedRange wenn die erste Zeile leer oder nur diese belegt ist den Wert 1 liefert.
Else
Leerzeile = Datenblatt.UsedRange.Rows.Count + 1
End If
    
With Datenblatt 'With damit es schneller läuft und weniger zu tippen ist
Cells(Leerzeile, 7).Value = TextBox1.Value
Cells(Leerzeile, 8).Value = TextBox2.Value
Cells(Leerzeile, 9).Value = TextBox3.Value
Cells(Leerzeile, 10).Value = TextBox4.Value
Cells(Leerzeile, 11).Value = TextBox5.Value
End With
End Sub


Klappts jetzt?

Nicolaus


Bild


Betrifft: Funktioniert ganz gut....
von: Gerhard S.
Geschrieben am: 25.11.2003 17:47:25

Hallo Nicolaus,
danke, das funktioniert ganz gut. Nur wie kann ich die Eingabe + Übernahme von TT.MM.JJJJ, hh:mm in er ersten Textbox vereinfachen?

mfg

Gerhard S.


Bild

Beiträge aus den Excel-Beispielen zum Thema " AddIn nur mit Arbeitsmappe laden"