Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1608to1612
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
Wert aus UserForm in Zelle schreiben
22.02.2018 14:11:33
Axel
Hallo zusammen,
in der unten verlinkten Datei werden nacheinander drei voneinander abhängige Abfragen per UserForm gemacht (Name, Region, Postleitzahl). Je nach Auswahl der ersten beiden Userforms befüllen sich die relevanten PLZ im dritten Userform.
Diese PLZ soll in das richtige Tabellenblatt geschrieben werden, also wenn Name: Müller, Region: Mitte, PLZ: 50100, dann soll im Tabellenblatt "Müller" in H4 die 50100 geschrieben werden. Die PLZ gibt es aber auch bei den anderen Namen, also müssen alle getroffenen Auswahlkombinationen für den Eintrag in das richtige Tabellenblatt H4 berücksichtigt werden.
Es gibt ein ausgeblendetes Tabellenblatt "Dropdown_UserForm", wo alle möglichen Kombinationen drin stehen.
Ich habe gelesen, dass man Werte mit z.B. Müller.Range ("H4") = Me.ListBox1.Value übernommen werden, aber wie berücksichtigt man die Abhängigkeiten der drei UserForms?
Vielen Dank schon mal für die Unterstützung.
https://www.herber.de/bbs/user/119999.xlsm
Gruß
Axel

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Freut mich...
22.02.2018 15:12:03
Werner
Hallo Axel,
...dass du zu deinem anderen "Problem" einen neuen Beitrag aufgemacht hast und so meine Antwort an dich ins Leere gelaufen ist.
Nur zu deiner Information: Wenn dir eine Antwort zu lange dauert, dann kann man einen Beitrag auf offen stellen und muss nicht gleich wieder einen neuen Beitrag zum gleichen Problem auf machen. Das hat dann auch den Vorteil, dass weitere Helfer nachlesen können, was da alles schon in Sachen Problemlösung gelaufen ist.
Gruß Werner
AW: Freut mich...
23.02.2018 06:45:21
Axel
Hallo Werner,
tut mir leid, ich hatte meine Beiträge gecheckt und muss was übersehen haben. War bestimmt nicht böse gemeint, das ist nicht meine Art.
Den Übertrag aus den UserForms in eine bestimmte Zelle eines Tabellenblattes hatte ich noch nicht gepostet. Hast Du denn eine Idee?
Entschuldige nochmals.
Axel
Anzeige
AW: Freut mich...
23.02.2018 06:50:36
Axel
Hallo Werner,
sorry, jetzt habe ich gesehen, was Du meinst. Wegen WorkBook.BeforeClose. Ja entschuldige Bitte, ich hatte Deine Antwort nicht gesehen. War wirklich nicht böse gemeint!
Ich achte künftig besser darauf. Hast ja recht.
Axel
AW: Wert aus UserForm in Zelle schreiben
23.02.2018 08:37:42
Axel
Im letzten UserForm (3) steht folgender Code:
Private Sub CommandButton1_Click()
intPLZ = Me.ComboBox1.Value 'Die Auswahl der PLZ wird in die Public Variable gespeichert
'Alle gewählten Angaben werden ausgegeben:
MsgBox "Es wurde folgende Auswahl getroffen:" & vbCr & _
"Name: " & strName & vbCr & _
"Region: " & strRegion & vbCr & _
"PLZ: " & intPLZ
Unload Me
End Sub

Private Sub UserForm_Initialize()
Dim intLastRow, i As Long
intLastRow = Tabelle21.Cells(Rows.Count, 1).End(xlUp).Row 'ermittelt die letzte Zeile in  _
der Tabelle Dropdown_UserForm
For i = 2 To intLastRow 'Geht jede Zeile der Tabelle "Dropdown_UserForm" durch und prüft...
If Tabelle21.Cells(i, "A") = strName And Tabelle21.Cells(i, "B") = strRegion Then '... _
ob der ausgewählte Name und die Region übereinstimmen
Me.ComboBox1.AddItem (Tabelle21.Cells(i, "C").Value) 'Wenn beide Angaben ü _
bereinstimmen, dann wird die entsprechende PLZ in die ComboBox geschrieben
End If
Next
End Sub
Kann folgendes nicht mit dem CommandButton verknüpft werden?:
Der Übertrag der Information aus UserForm3 muss in Abhängigkeit der Kombination aus UserForm1 und UserForm3 erfolgen. Es müsste so lauten (Klartext):
Wenn UserForm1 Name = Müller und UserForm3 PLZ_50100, dann schreib die 50100 in Tabellenblatt "Müller" in Zelle H6 rein
Wenn UserForm1 = Meier und UserForm3 = 50100, dann schreib die 50100 ins Tabellenblatt "Meier" in Zelle H6 rein.
Ich denke, ich werde UserForm2 dann gar nicht mehr benötigen...
Danke nochmals für Unterstützung vorab.
Gruß
Axel
Anzeige
AW: Wert aus UserForm in Zelle schreiben
23.02.2018 09:19:55
Werner
Hallo Axel,
dann will ich mal nicht so sein.
Code für den CommandButton deiner Userform3:
Private Sub CommandButton1_Click()
intPLZ = Me.ComboBox1.Value 'Die Auswahl der PLZ wird in die Public Variable gespeichert
'Alle gewählten Angaben werden ausgegeben:
If MsgBox("Es wurde folgende Auswahl getroffen:" & vbCr & _
"Name: " & strName & vbCr & _
"Region: " & strRegion & vbCr & _
"PLZ: " & intPLZ & vbLf & vbLf _
& "Sollen die Daten übertragen werden?", vbYesNo, "Information") = vbYes Then
Worksheets(strName).Range("H4") = intPLZ
Unload Me
Else
Worksheets(strName).Visible = False
Unload Me
UserForm1.Show
End If
End Sub
Gruß Werner
Anzeige
AW: Wert aus UserForm in Zelle schreiben
23.02.2018 10:19:34
Axel
Hallo Werner,
danke für Deine Nachsicht, war wirklich nicht böse gemeint...
Der Code läuft in einen Fehler, ich weiß auch warum.
Die Tabellenblätter haben andere Bezeichnungen als die Auswahlbutton im UserForm1. Kann man da nicht auf die VBA-Bezeichnungen der Tabellenblätter referieren?
Also die Schaltfläche "Müller" wäre Tabelle1, Meier Tabelle2 usw... Es sind ja nur 4 Schaltflächen.
Von alle dem abgesehen, ich brauche eigentlich die MsgBox oder eine Sicherheitsabfrage gar nicht.
Eigentlich wäre es schneller, wenn die Anwender nach Auswahl der PLZ auf eine Schaltfläche OK klicken und dann findet der Übertrag statt.
Ich schreibs mal wie ich kann:
Private Sub CommandButton1_Click()
intNL = Me.ComboBox1.Value 'Die Auswahl der NL wird in die Public Variable gespeichert
If vbYes (heißt: wenn der OK-Button geklickt wird) Then
Tabelle1.Range("H6") = intNL (wenn Müller)
Tabelle2.Range("H6")= intNL (wenn Meier)
usw.
Else (also wenn der OK-Button nicht geklickt wird)
...mach gar nichts, denn die Anwender werden OK klicken
End If
End Sub
Sorry, wenn ich das so komisch schreibe. Ich hoffe, Du weißt, was ich meine.
Danke nochmals und Gruß
Axel
Anzeige
AW: Wert aus UserForm in Zelle schreiben
23.02.2018 18:38:25
Werner
Hallo Axel,
ich verstehe zwar den Sinn nicht, denn deine Beispielmappe sieht anders aus. Da haben die entsprechenden Tabellenblätter auch die Namen die auf deinen Button sind, zudem ist Müller nicht Tabelle1.
Aber was solls:
Private Sub CommandButton1_Click()
intPLZ = Me.ComboBox1.Value 'Die Auswahl der PLZ wird in die Public Variable gespeichert
Select Case strName
Case "Müller"
Tabelle1.Range("H4") = intPLZ
Case "Meier"
Tabelle2.Range("H4") = intPLZ
Case "Schulze"
Tabelle13.Range("H4") = intPLZ
Case "Schmidt"
Tabelle4.Range("H4") = intPLZ
Case Else
End Select
Unload Me
End Sub
Gruß Werner
Anzeige
AW: Wert aus UserForm in Zelle schreiben
26.02.2018 13:59:54
Axel
Hi Werner,
sorry für die späte Rückmeldung. Ich bin jetzt erst wieder zu dem Thema gekommen.
Die Beispielmappe war etwas anders als das Original nach ein paar Tagen. Während der Lösungsfindung hat sich die Datei auch entwickelt. Deshalb brauche ich z.B. auch das zweite UserForm nicht mehr.
Ich hab jetzt alles eingefügt wie Du beschrieben hast und es funktioniert einwandfrei. Wenn man die Lösung sieht, sieht es so einfach aus. Ich hoffe, ich kann mich künftig mehr mit dem Thema beschäftigen, denn mit VBA kann man echt viel machen.
Mir ist noch was aufgefallen: Obwohl immer am Schluss "Unload Me" steht, bleibt das UserForm1 nach Show des UserForm3 im Hintergrund sichtbar. Dasselbe macht das UserForm3, wenn das nächste Kontextfenster sich öffnet. Das verstehe ich nicht. Ist aber nicht wirklich schlimm.
Danke noch vielmals, Werner!
Gruß
Axel
Anzeige
Gerne u. Danke für die Rückmeldung. o.w.T.
26.02.2018 20:00:52
Werner

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige