Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1872to1876
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
Inhaltsverzeichnis

UserForm Eingabe umwandeln

UserForm Eingabe umwandeln
15.03.2022 18:06:17
setre
Liebes Forum,
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!

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm Eingabe umwandeln
15.03.2022 18:28:22
Rudi
Hallo,
cells(combobox1.listindex+1,2)=CDate(Textbox1)
Gruß
Rudi
nicht nachvollziehbar ;-)
15.03.2022 18:30:19
Matthias
Hallo,
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)
Macht für mich keinen Sinn wenn Max Mustermann am 15.03. Geburtstag hat diesen zu ändern.
Entweder er hat an diesem Tag Geburtstag oder eben nicht.
Aber egal, Lad einfach mal (D)eine Beispielmappe hoch, denn nachbauen werde ich das nicht.
Gruß Matthias
AW: UserForm Eingabe umwandeln
15.03.2022 20:22:13
ralf_b
dein eigentliches Problem ist also das passende Zurückschreiben in die richtige Zeile.
entweder du verlässt dich darauf das die Zeilen mit dem Listindex des Controls in Verbindunggebracht werden können ( Siehe Rudi's Vorschlag)
Oder du schreibst dir eine weitere Spalte in deine Listbox , in welcher die Zeilennummer mitgeschrieben wird. Diese Spalte kann man mit Breite 0 ausblenden aber trotzdem nutzen.
Die Spaltenanzahl und Breite muß natürlich vorher festgelegt werden.
z,b, If Zelle.Value "" Then
ComboBox1.AddItem Zelle.Value
ComboBox1.list(Combobox1.listcount-1, 2) = Zelle.row
Anzeige
AW: UserForm Eingabe umwandeln
16.03.2022 11:34:58
setre
Vielen Dank schonmal für die Hilfestellungen!
@Rudi:
Leider weiß ich nicht genau, wo ich den Befehl einsetzen soll und vor allem wie ich dann VBA sagen kann welche Spalte ich genau meine.
@Matthias:
https://www.herber.de/bbs/user/151793.xlsm
Hier habe ich die Datei als Beispiel hochgeladen.
Ganz simpel. Spalte A Namen, Spalte B Datum.
Der Benutzer soll über den Button das Datum in Spalte B ändern dürfen.
Im Idealfall wird auch in der Userform zu jedem passenden Namen aus der ComboBox in Textfeld1 erstmal das aktuelle Datum angezeigt, dann kann der Benutzer in Textfeld2 ein neues Datum eintippen und so das alte in Spalte B überschreiben.
@Ralf:
Wenn ich die Zeile

ComboBox1.list(Combobox1.listcount-1, 2) = Zelle.row
hinzufüge nach

Then
ComboBox1.AddItem Zelle.Value
weiß ich leider nicht, wie ich damit Spalte B der neuen, zweiten Spalte der ComboBox zuweise, damit zu jedem passenden Namen das Datum angezeigt wird.
Danke nochmal für Eure Mühen!
Anzeige
AW: UserForm Eingabe umwandeln
16.03.2022 13:56:36
Rudi

Leider weiß ich nicht genau, wo ich den Befehl einsetzen soll und vor allem wie ich dann VBA sagen kann welche Spalte ich genau meine.
hinter Else
Die Spalte wird durch das ,2 in Cells bestimmt (2. Spalte = B)
Gruß
Rudi
AW: UserForm Eingabe umwandeln
16.03.2022 14:09:30
setre
Danke,
aber leider kommt dann:

Laufzeitfehler 1004:
Anwendungs- oder objektdefinierter Fehler

Solved
16.03.2022 14:21:02
setre
Hatte den Blattschutz noch drin, sorry!
Jetzt klappt es mit:

Cells(ComboBox1.ListIndex + 1, 2).Value = TextBox1.Value
Danke für die Hilfe!!
Anzeige
meine Frage bleibt!
16.03.2022 16:15:41
Matthias
Hallo,
Wieso sollte man ein Geburtsdatum ändern?
Für mich unverständlich!
Gruß ...
AW: meine Frage bleibt!
16.03.2022 16:22:57
Oberschlumpf
hi Matthias
ich wurde am 31.01.1969 geboren...ups..nee!...es war der 31.10.1969...immer diese doofen tippFEHLER^^
is - mit dieser Fehler-Möglichkeit- deine Frage beantwortet?
Ciao
Thorsten
Nein!
16.03.2022 16:36:18
Matthias
Hallo Thorsten,
Zitat:
In Spalte B steht das Geburtsdatum zu jedem Namen.
Gruß Matthias
AW: Nein!
16.03.2022 17:42:40
Oberschlumpf
...welches ja in Spalte B irgdwann mal eingetragen wurde^^...mit/ohne TIPPfehler?...DAS is HIER die Frage :-)))
AW: Nein!
16.03.2022 17:49:11
setre
Da habe ich aber Verwirrung gestiftet, das war gar nicht meine Absicht.
Das war alles nur ein Beispiel, die eigentliche Datei ist komplexer, es ging mir nur um das generelle Vorgehen.
Es ist ein anderes Datum, nicht das Geburtsdatum.
Danke nochmal für die Hilfe!
Anzeige
Na Super ... ! owT
16.03.2022 18:30:33
Matthias

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige