bei folgendem Problem würde ich mich über eine Lösung freuen!
Ich habe eine einfache Excel Datei:
In Spalte A stehen Namen (sagen wir z.B. 10 Nachnamen)
In Spalte B steht das Geburtsdatum zu jedem Namen.
Der Benutzer soll nun das Geburtsdatum in Spalte B über ein UserForm ändern dürfen (die Zellen werden hinterher gesperrt, ohne UserForm soll keine Datumsänderung möglich sein)
UserForm1 besteht also aus einer ComboBox1, dort werden beim Öffnen alle Namen aus Spalte A eingefügt:
Private Sub ComboBox1_Enter()
Dim Zelle As Range
ComboBox1.Clear
With ActiveSheet
For Each Zelle In .Range(.Range("A1"), .Range("A1").End(xlDown))
If Zelle.Value "" Then ComboBox1.AddItem Zelle.Value
Next
End With
End Sub
Und es soll eine Textbox1 geben, wo der Benutzer das neue Datum eintragen darf, und es gibt den Knopf Änderung übernehmen (CommandButton2):Wenn man auf den Button klickt, habe ich bis jetzt folgenden Code:
Private Sub CommandButton2_Click()
If ComboBox1.Text "" Then
If Not IsDate(TextBox1) Then
MsgBox ("Kein gültiges Datum ausgewählt!")
TextBox1 = ""
Exit Sub
Else
' Hier soll jetzt der Code rein, denke ich, damit das alte Datum durch das neue ersetzt wird und zwar in der korrespondierende Zeile von Spalte B
' passend zum in ComboBox1 ausgewählten Namen
TextBox1 = ""
ComboBox1 = ""
UserForm1.Hide
UserForm2.Show
End If
ComboBox1 = ""
Else
MsgBox ("Kein Nachname ausgewählt!")
End If
End Sub
Leider weiß ich nicht wie ich VBA klar machen kann, dass das neue Datum aus TextBox1 das alte Datum in Spalte B ersetzen soll, und zwar in der jeweiligen Zeile, dessen Namen in ComboBox1 vom Benutzer ausgewählt wurde.Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt und würde mich sehr über Hilfe freuen!
Vielen Dank im Voraus!