Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Eintragung per Userform

Forumthread: Eintragung per Userform

Eintragung per Userform
22.06.2025 16:45:39
Michael
Hallo Ihr Profis!

Ich würde höflich um Hilfe bitte.

Mit dem nachstehende Code habe ich es geschafft, dass die Daten einer Userform in die Tabelle2 eintragen werden.

Leider werden die Daten aber immer in die letzte Zeile (wie im Code angeführt) der Tabelle eingetragen und ich schaffe es einfach nicht, dass die Daten in die Zeile 2 (Zeile 1 Überschrift) eingefügt werden.

Sprich, ich müsste eine neue Zeile einfügen (in Zeile 2) die dann mit den Daten der Userform befüllt wird, sodass immer die aktuellsten Daten in der Tabelle oben sind.

Private Sub ButtonSpeichern_Click()

'Daten ins Tabellenblatt übernehmen
Dim neueZeile As Long

With Tabelle2
neueZeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1

.Cells(neueZeile, 1).Value = ComboBoxSchueler.Value
.Cells(neueZeile, 2).Value = TextBoxDatum.Value
.Cells(neueZeile, 3).Value = ComboBox1.Value
.Cells(neueZeile, 4).Value = ComboBox2.Value
.Cells(neueZeile, 5).Value = TextBoxNote.Value
.Cells(neueZeile, 6).Value = TextBoxAnmerkung.Value

End With

End Sub

Vielleicht könntet Ihr mir helfen.
Besten Dank im Voraus!

MfG
Michael
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eintragung per Userform
22.06.2025 17:11:25
Daniel
With Tabelle2

neueZeile = 2
.Rows(neueZeile).Insert
.Cells(neueZeile, 1).Value = ComboBoxSchueler.Value
...


Gruß Daniel
AW: Eintragung per Userform
23.06.2025 20:08:22
Marc
du kannst statt die letzte Zeile zu suchen

einfach immer nach Zeile 2 eine neue Zeile einfügen die Daten dann rein kopieren.

Aber die Frage ist, warum du sie nicht ans Ende packst, was tatsächlich einfacher ..
und keine Unterschied macht beim abrufen über UserForm..



Sub NeueZeile
' Fügt eine neue Zeile nach der ersten Zeile ein
Rows(2).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
Anzeige
AW: Eintragung per Userform
24.06.2025 08:40:24
Michael
Hallo Marc!
Die Idee dahinter war folgende:
Nachdem beim Eintragen mittel Userform_Einfügen gleichzeitig die Userform_Daten offen ist (wo die Eintragungen aufscheinen) und in dieser nur die ersten 30 Datensätze erichtlich sind (sonst müsste man alles schließen und nach unten scrollen), wollte ich die Daten in der Tabelle oben einfügen.
Hat aber leider nicht funktioniert.
Die Eintragen mit eurer Hilfe hat schon funktioniert (daher besten Dank), aber die User_Form Daten aktuallisiert die Eintragungen nicht automatisch.
Daher hat das nichts gebracht - ich füge die Daten jetzt wieder am Ende ein.

Hinsichtlich der Datenauslese bin ich wieder am Anfang.
Aus meiner Sicht müsste ich folgendes versuchen:
1.) Die Userform_Daten müsste beim Speichern der Eintragungen in der Userform_Einfügen aktualisiert werden.
2.) Die Userform_Daten müsste nicht die ersten 30 Datensätze in der ListBoxDaten anzeigen, sondern die letzen Datensätze der Tabelle, damit die aktuellen Einträge für den User ersichtlich sind.

Userform_Daten:
Private Sub UserForm_Initialize()

'Call listboxDatenbefuellen

'Überschrift
ListBoxDaten.ColumnHeads = True

'Spaltenanzahl festlegen = 6 ist die Spaltenanzahl
ListBoxDaten.ColumnCount = 6

'Einzulesender Zellenbereich
ListBoxDaten.RowSource = "DATEN!A2:F500"

'Spaltenbreite festlegen
ListBoxDaten.ColumnWidths = "130;70;120;100;50;150"

'ListBox letzer Datensatz anzeigen
'ListBoxDaten.ListIndex = .ListCount - 1

End Sub

Userform_Einfügen:

Private Sub UserForm_Initialize()

'ComboBoxen befüllen

ComboBoxSchueler.List = Tabelle4.ListObjects("Schülername").DataBodyRange.Value
ComboBoxSchueler.ListIndex = 0

ComboBox1.List = Tabelle5.ListObjects("Gegenstände").DataBodyRange.Value
ComboBox1.ListIndex = 0

ComboBox2.List = Tabelle6.ListObjects("Thema").DataBodyRange.Value
ComboBox2.ListIndex = 0

End Sub

Private Sub ButtonSpeichern_Click()

'Daten ins Tabellenblatt übernehmen
Dim neueZeile As Long

With Tabelle2
neueZeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1

.Cells(neueZeile, 1).Value = ComboBoxSchueler.Value
.Cells(neueZeile, 2).Value = TextBoxDatum.Value
.Cells(neueZeile, 3).Value = ComboBox1.Value
.Cells(neueZeile, 4).Value = ComboBox2.Value
.Cells(neueZeile, 5).Value = TextBoxNote.Value
.Cells(neueZeile, 6).Value = TextBoxAnmerkung.Value

End With

End Sub

Danke für eurer Engagement und Hilfe.

MfG
Michael
Anzeige
AW: Eintragung per Userform
24.06.2025 11:20:23
Marc
Natürlich aktualisiert die UserForm die Daten nicht automatisch..

das musst du ihm schon sagen was du machen willst.

Das heißt...

1. Schritt neue Daten in UserForm eingeben
2. Schritt Daten in Excel Tabelle speichern (wobei hier egal ist ob am Anfang oder Ende) --> wenn du mit einem Zeitstempel oder einer ID arbeitest kannst du sie jederzeit entsprechend sortieren
3. UserForm aktualisieren, bedeutet die Felder die die Daten anzeigen sollen müssen erst geleert werden und dann mit den Daten nach deinen Wünschen (z.b Anzahl der Zeilen, oder nach Datum sortiert oder wie auch immer) eingelesen und angezeigt werden..
Anzeige
AW: Eintragung per Userform
22.06.2025 17:22:29
Michael
Hallo Daniel!
So einfach wäre es gewesen.
Danke für deine sehr schnelle und gute Hilfe, hat funktioniert.
LG
Michael
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18