Hallo zusammen,
mein Problem liegt in dem Speichern von Daten über eine UserForm in einer Excel Liste und dem richtigen Anzeigen in der ListBox.
Ablaufbeschreibung:
Ich habe eine UserForm, welche Umfangreich mit TextBoxen und Checkboxen übersäht ist. Wenn ich auf neuen Benutzer Anlegen drücke, kann ich dort Daten eingeben und drücke dann auf Speichern, erst dann steht es fest in der Excel Tabelle.
Problem: Beim ersten mal funktioniert das ganze Super, aber wenn ich dann einen zweiten Datensatz eingebe, überspecihert er "teilweiße" den Alten.
Schaut euch mal bitte den folgenden Code an, vlt seht ihr auf anhieb das Problem
Danke im Vorraus =)
mein Problem liegt in dem Speichern von Daten über eine UserForm in einer Excel Liste und dem richtigen Anzeigen in der ListBox.
Ablaufbeschreibung:
Ich habe eine UserForm, welche Umfangreich mit TextBoxen und Checkboxen übersäht ist. Wenn ich auf neuen Benutzer Anlegen drücke, kann ich dort Daten eingeben und drücke dann auf Speichern, erst dann steht es fest in der Excel Tabelle.
Problem: Beim ersten mal funktioniert das ganze Super, aber wenn ich dann einen zweiten Datensatz eingebe, überspecihert er "teilweiße" den Alten.
Schaut euch mal bitte den folgenden Code an, vlt seht ihr auf anhieb das Problem
Visual Basic-Quellcode
- Private Sub speichert_Click()
- 'Funktion zum speichern
- Dim iRows As Integer
- Dim i As Integer
- Dim b As Boolean
- 'Anzahl der Einträge Prüfen
- Dim z As Integer
- 'z = Sheets("Aktuelle").Cells(Rows.Count, 1).End(xlUp).Row
- z = Sheets("Aktuelle").Range("B65536").End(xlUp).Row 'Ende ermitteln
- If Sheets("Listen").Cells(2, 5) = 1 Then 'If 1
- MsgBox "Bitte Klicken sie !Neuer Bewerber!"
- Else
- 'Überprüfen der Einträge nach Doppelten Werten
- b = True
- For i = z To 1 Step -1
- If b = True Then 'If 2
- 'Überprüft Nachname und Vornamen und Geburtsdatum
- If textName.Text = Sheets("Aktuelle").Cells(i, 6).Value And textVorname.Text = Sheets("Aktuelle").Cells(i, 7).Text And gebDatum.Text = Sheets("Aktuelle").Cells(i, 8) Or textName.Text = Sheets("Archiv").Cells(i, 6).Value And textVorname.Text = Sheets("Archiv").Cells(i, 7).Text And gebDatum.Text = Sheets("Archiv").Cells(i, 8) Then 'If 3
- 'Trifft alles zu KOmmt Meldung
- MsgBox "!!! ACHTUNG !!! Schon Vorhanden !!!"
- 'B wird auf falsch gesetzt damit kein Eintrag gemacht wird
- b = False
- Exit For
- End If 'Ende If 3
- End If ' Ende If 2
- Next i 'Nächster Eintrag Prüfen
- ' Else 'Else zu If 1
- 'z = i
- 'End If 'Ende If 1
- 'Überprüft ob er sie Eintragen darf
- If b = True Then
- 'Schreibt werte in die Zeile, z steht für die Reihe
- Sheets("Aktuelle").Cells(z, 1) = UserForm1.eingangsdatum.Text
- Sheets("Aktuelle").Cells(z, 2) = UserForm1.weiter.Value
- Sheets("Aktuelle").Cells(z, 3) = UserForm1.weiterAn.Text
- Sheets("Aktuelle").Cells(z, 4) = UserForm1.weiterAm.Text
- Sheets("Aktuelle").Cells(z, 5) = UserForm1.ComboBox3.Text
- Sheets("Aktuelle").Cells(z, 6) = UserForm1.textName.Text
- Sheets("Aktuelle").Cells(z, 7) = UserForm1.textVorname.Value
- Sheets("Aktuelle").Cells(z, 8) = UserForm1.gebDatum.Text
- Sheets("Aktuelle").Cells(z, 9) = UserForm1.ComboBox1.Text
- Sheets("Aktuelle").Cells(z, 10) = UserForm1.telNummer.Text
- Sheets("Aktuelle").Cells(z, 11) = UserForm1.adresse.Text
- Sheets("Aktuelle").Cells(z, 12) = UserForm1.TextBox3.Text
- Sheets("Aktuelle").Cells(z, 14) = UserForm1.ComboBox2.Text
- Sheets("Aktuelle").Cells(z, 15) = UserForm1.TextBox8.Text
- Sheets("Aktuelle").Cells(z, 16) = UserForm1.TextBox7.Text
- Sheets("Aktuelle").Cells(z, 13) = UserForm1.TextBox4.Text
- Sheets("Aktuelle").Cells(z, 17) = UserForm1.schulabschluss.Text
- Sheets("Aktuelle").Cells(z, 18) = UserForm1.ausbildung.Text
- Sheets("Aktuelle").Cells(z, 19) = UserForm1.exam.Value
- Sheets("Aktuelle").Cells(z, 20) = UserForm1.sonstiges.Text
- Sheets("Aktuelle").Cells(z, 21) = UserForm1.listestellen.Text 'Beworben auf...
- Sheets("Aktuelle").Cells(z, 22) = UserForm1.TextBox5.Text
- Sheets("Aktuelle").Cells(z, 23) = UserForm1.TextBox6.Text
- Sheets("Aktuelle").Cells(z, 24) = UserForm1.textGeb.Text
- Sheets("Aktuelle").Cells(z, 25) = UserForm1.eingabebestetigung.Value
- Sheets("Aktuelle").Cells(z, 26) = UserForm1.einladung.Value
- Sheets("Aktuelle").Cells(z, 27) = UserForm1.zusage.Value
- Sheets("Aktuelle").Cells(z, 28) = UserForm1.absage.Value
- Sheets("Aktuelle").Cells(z, 29) = UserForm1.eingestellt.Value
- Sheets("Aktuelle").Cells(z, 30) = UserForm1.telNummerZwei.Value
- End If
- 'Automatisches füllen der listBox
- Dim t As Integer
- With ListBox1
- For t = z To 1 Step -1
- .ColumnCount = 2
- .RowSource = "Aktuelle!F1:G35536"
- Next t
- .ListIndex = 0
- End With
- b = True
- End If
- End Sub
Danke im Vorraus =)