Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1540to1544
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
Mit Userform Tabelle füllen
25.02.2017 15:30:04
Simon
Hallo.
Ich stehe vor einem Problem (fast keine VBA-Kenntnisse).
Ich möchte gerne mit einer Userform eine Tabelle füllen. Es soll immer die letzte freie Zeile angesprochen werden.
TextBox1 soll Spalte A füllen, ComboBox1 soll Spalte B füllen, TextBox2 soll Spalte C füllen und ComboBox2 soll Spalte D füllen. Also je als eine Zeile.
Könnte mir eventuell jemand den Code dafür zeigen?
Viele Grüße, Simon

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit Userform Tabelle füllen
25.02.2017 15:46:24
Werner
Hallo Simon,
Schaltfläche auf deine Userform und dieser folgenden Code zuweisen:
Private Sub CommandButton1_Click()
Dim loLetzte As Long
loLetzte = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("Tabelle1").Cells(loLetzte, 1).Value = Me.TextBox1.Value
Sheets("Tabelle1").Cells(loLetzte, 2).Value = Me.ComboBox1.Value
Sheets("Tabelle1").Cells(loLetzte, 3).Value = Me.TextBox2.Value
Sheets("Tabelle1").Cells(loLetzte, 1).Value = Me.ComboBox2.Value
End Sub
Das Tabellenblatt musst du an deine Bedürfnisse anpassen.
Gruß Werner
Anzeige
AW: Mit Userform Tabelle füllen
25.02.2017 15:52:55
Peter
Hallo Simon,
diese kleine Korrektur (+ 1) bitte einfügen.
Gruß Peter
lFreie = .Cells(.Rows.Count, 1).End(xlUp).Row + 1

AW: Mit Userform Tabelle füllen
25.02.2017 15:50:45
Peter
Hallo Simon,
das sollte so funktionieren
Option Explicit
Private Sub CommandButton1_Click()
Dim lFreie  As Long
If TextBox1.Value = "" Then
MsgBox "Sie müssen bitte die Textbox1 füllen - danke.", _
48, "Hinweis für " & Application.UserName
With TextBox1
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
Exit Sub
End If
If ComboBox1.Value = "" Then
MsgBox "Sie müssen bitte die Combobox1 füllen - danke.", _
48, "Hinweis für " & Application.UserName
ComboBox1.SetFocus
Exit Sub
End If
If TextBox2.Value = "" Then
MsgBox "Sie müssen bitte die Textbox2 füllen - danke.", _
48, "Hinweis für " & Application.UserName
With TextBox2
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
Exit Sub
End If
If ComboBox2.Value = "" Then
MsgBox "Sie müssen bitte die Combobox2 füllen - danke.", _
48, "Hinweis für " & Application.UserName
ComboBox2.SetFocus
Exit Sub
End If
'    die Boxes sind gefüllt, es kann übertragen werden
With ThisWorkbook.Worksheet("Tabelle1") ' den Tabellenblattnamen ggf anpassen!!!
lFreie = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("A" & lFreie).Value = TextBox1.Value
.Range("B" & lFreie).Value = ComboBox1.Value
.Range("C" & lFreie).Value = TextBox2.Value
.Range("D" & lFreie).Value = ComboBox2.Value
End With
End Sub
Es wird davon ausgegangen, dass die Ausgabe in Tabelle1 erfolgt - sonst musst du es anpassen
Dass alle Boxes gefüllt sein müssen - sonst musst du die Verprobung rauslöschen.
Gruß Peter
Anzeige
AW: Mit Userform Tabelle füllen
25.02.2017 15:59:35
Peter
Hallo Simon,
das kommt davon, wenn man schnell sein will - es gibt ein fehlendes s
With ThisWorkbook.Worksheets("Tabelle1") ' den Tabellenblattnamen ggf anpassen!!!
lFreie = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
Gruß Peter
AW: Mit Userform Tabelle füllen
25.02.2017 16:22:15
Simon
Hallo.
Erstmal danke für die schnellen Antworten!
Also die erste Lösung
Private Sub CommandButton1_Click()
Dim loLetzte As Long
loLetzte = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("Tabelle1").Cells(loLetzte, 1).Value = Me.TextBox1.Value
Sheets("Tabelle1").Cells(loLetzte, 2).Value = Me.ComboBox1.Value
Sheets("Tabelle1").Cells(loLetzte, 3).Value = Me.TextBox2.Value
Sheets("Tabelle1").Cells(loLetzte, 1).Value = Me.ComboBox2.Value
End Sub
gefällt mir als Laie natürlich etwas besser, da es sehr übersichtlich ist.
Ich habe lediglich noch nicht verstanden, wo genau ich diese Korrektur
lFreie = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
hinschreiben soll. Und was diese bringt...
Was wäre denn der Unterschied, wenn ich die Variante von Peter nehmen würde?
Anzeige
AW: Mit Userform Tabelle füllen
25.02.2017 17:47:21
Simon
Hallo.
Erstmal danke für die schnellen Antworten!
Also die erste Lösung
Private Sub CommandButton1_Click()
Dim loLetzte As Long
loLetzte = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("Tabelle1").Cells(loLetzte, 1).Value = Me.TextBox1.Value
Sheets("Tabelle1").Cells(loLetzte, 2).Value = Me.ComboBox1.Value
Sheets("Tabelle1").Cells(loLetzte, 3).Value = Me.TextBox2.Value
Sheets("Tabelle1").Cells(loLetzte, 1).Value = Me.ComboBox2.Value
End Sub
gefällt mir als Laie natürlich etwas besser, da es sehr übersichtlich ist.
Ich habe lediglich noch nicht verstanden, wo genau ich diese Korrektur
lFreie = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
hinschreiben soll. Und was diese bringt...
Was wäre denn der Unterschied, wenn ich die Variante von Peter nehmen würde?
Anzeige

11 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige