1.7k Aufrufe
Gefragt in Tabellenkalkulation von afetinci Mitglied (183 Punkte)
Hi Leute,

ich habe in einem Tabellenblatt mehrere Dropdown- Listen mit denen ich arbeite.

In Spalte G befindet sich eine Dropdown- Liste mit den Auswahlmöglichkeiten "Initativ" "auf Anzeige" u.s.w.

Nun möchte ich, das wenn ich in Saplte G "auf Anzeige" wähle, eine Userform in der aktiven Zeile erscheint in der ich weitere Daten eintragen kann.

Diese Daten die ich dann in der Userform eintrage, sollen dann in einem anderenTabellenblatt auf der Selben Zeile eingetragen werden. z,B, ich wähle in Tabelle1, Zelle "G8" "auf Anzeige" aus, dann soll die Userform in der aktiven Zeile erscheinen (also Zeile 8), gebe die Daten in der Userform ein und diese tragen sich dann in Tabelle2 in der Zelle "A8" ein.

Jetzt habe ich viel geschrieben. Ich hoffe es ist verständlich.

Gruß

4 Antworten

0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

erstelle ein UserForm mit einer TextBox und einer Schalftläche. Der Schalter erhält einen Code dieser Form (der Prozedurname hängt davon ab wie deine Schaltfläche heißt, bei mir ist es CommandButton1):
Private Sub CommandButton1_Click()
Worksheets("Tabelle2").Cells(loZeile, 1) = TextBox1
Unload Me
End Sub

Ins Codemodul des Tabellenblattes mit den DropDown Listenfeldern kopierst du diesen Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 7 Then
If Target.Count = 1 Then
loZeile = Target.Row
UserForm1.Show
End If
End If
End Sub
und in einem allgemeinen Modul deklarierst du die Variable loZeile als Public.

Bis später,
Karin
0 Punkte
Beantwortet von afetinci Mitglied (183 Punkte)
HI Karin,

danke für deine Antwort.

Das mit dem öffnen klappt, jedoch sobald ich auf die Zelle klicke. Die Userform soll sich aber nur öffnen wenn "auf Anzeige" ausgewählt wird. Ist da auch was machbar???

Gruß
afetinci
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

mit dem von mir geposteten Code wird das UserForm aufgerufen wenn ein Eintrag (bzw. andere Auswahl mittels Zelldropdown) in der Zelle erfolgt, nicht wenn die Zelle angewählt wird. Offensichtlich hast du den Code nicht komplett kopiert sondern ihn anstatt in das Worksheet_Change (so wie in meinem Beispiel) in das Workshee_SelectionCange Ereignis eingefügt.

Wenn das UserForm nur bei einer bestimmten Auswahl gestartet werden soll dann muss der Code so aussehen:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 7 Then
If Target.Count = 1 Then
If Target = "auf Anzeige" Then
loZeile = Target.Row
UserForm1.Show
End If
End If
End If
End Sub

Bis später,
Karin
0 Punkte
Beantwortet von afetinci Mitglied (183 Punkte)
Du bist super!!

klappt bestens. Bin ein Anfänger in VBA. VIELEN DANK!!!

Gruß
...