MrSyniXDriVe
Lt. Junior Grade
- Registriert
- Aug. 2013
- Beiträge
- 308
Hallo zusammen, ich hab ein kleines Problem. Für eine Datenänderung hab ich eine UserForm erstellt. Mittels eines Kombinationsfeldes kann man den Datensatz (in diesem Fall ein Arbeiter) auswählen. Die Daten werden dann in Textfelder ausgegeben, wo man Sie bearbeiten kann. Anschließend kann man Sie mit einem Button ändern.
Das entsprechende Tabellenblatt sieht folgendermaßen aus:
Und die Userform: (Hier wurde der name von Max zu Maxim geändert, aber noch nicht bestätigt, desshalb noch Blau bei den Infos.
Nun zu meinem Problem:
Ich kann den Vornamen Ändern, das läuft alles wie gewollt, es wird auch gleich der Name in der Kombobox mitgeändert, also steht z.B. dann beim Bestätigen gleich Maxim Mustermann in der Kombobox. Allerdings kann ich sonst keine Daten ändern. Immer wenn ich andere Daten ändern will dann stehen nach dem bestätigen wieder die Alten drin.
Wenn ich allerdings folgende Zeilen als Kommentar verfasse, kann ich alle anderen Daten ändern. Wenn ich nur den Vornamen als Kommentar verfasse, kann ich nur den Nachnamen ändern.
Ich bin echt am grübeln, worin der Fehler liegt, ich hoffe jemand von euch hat genug zeit sich das anzusehen, ich freue mich auf alle antworten.
Code:
Private Sub cmdok_Click()
I = 0
Do
I = I + 1
Loop Until Worksheets("Arbeiter").Cells(I, 4).Value = arbeiterändern.cboarbeiter.Value
If Me.lblvorname.ForeColor Or Me.lblnachname.ForeColor Or Me.lblstraße.ForeColor Or Me.lblort.ForeColor Or Me.lblplz.ForeColor Or Me.lbltelefon.ForeColor _
Or Me.lblsvnr.ForeColor Or Me.lblemail.ForeColor = &H808000 Then
strvorname = Me.txtvorname.Value
strnachname = Me.txtnachname.Value
strstraße = Me.txtstraße.Value
strplz = Me.txtplz.Value
strort = Me.txtort.Value
strtelefon = Me.txttelefon.Value
stremail = Me.txtemail.Value
strsv = Me.txtsv.Value
With Worksheets("Arbeiter")
.Cells(I, 2) = strvorname
.Cells(I, 3) = strnachname
.Cells(I, 5) = strstraße
.Cells(I, 6) = strplz
.Cells(I, 7) = strort
.Cells(I, 8) = strtelefon
.Cells(I, 9) = stremail
.Cells(I, 11) = strsv
End With
With Me
.lblvorname.ForeColor = &H0&
.lblnachname.ForeColor = &H0&
.lblstraße.ForeColor = &H0&
.lblplz.ForeColor = &H0&
.lblort.ForeColor = &H0&
.lbltelefon.ForeColor = &H0&
.lblemail.ForeColor = &H0&
.lblsvnr.ForeColor = &H0&
End With
arbeiterändern.cboarbeiter.Value = Worksheets("Arbeiter").Cells(I, 4).Value
I = 0
Do
I = I + 1
Loop Until Worksheets("Arbeiter").Cells(I, 1).Value = ""
arbeiterändern.cboarbeiter.RowSource = "Arbeiter!D3:D" & I - 1
Das entsprechende Tabellenblatt sieht folgendermaßen aus:
Und die Userform: (Hier wurde der name von Max zu Maxim geändert, aber noch nicht bestätigt, desshalb noch Blau bei den Infos.
Nun zu meinem Problem:
Ich kann den Vornamen Ändern, das läuft alles wie gewollt, es wird auch gleich der Name in der Kombobox mitgeändert, also steht z.B. dann beim Bestätigen gleich Maxim Mustermann in der Kombobox. Allerdings kann ich sonst keine Daten ändern. Immer wenn ich andere Daten ändern will dann stehen nach dem bestätigen wieder die Alten drin.
Wenn ich allerdings folgende Zeilen als Kommentar verfasse, kann ich alle anderen Daten ändern. Wenn ich nur den Vornamen als Kommentar verfasse, kann ich nur den Nachnamen ändern.
Code:
.Cells(I, 2) = strvorname
.Cells(I, 3) = strnachname
strvorname = Me.txtvorname.Value
strnachname = Me.txtnachname.Value
Ich bin echt am grübeln, worin der Fehler liegt, ich hoffe jemand von euch hat genug zeit sich das anzusehen, ich freue mich auf alle antworten.