ok... das kann ich machen. die muss ich aber erst stricken. das muss ich dann auf morgen verschieben. so fix bin ich dabei nicht. :22: Vielen Dank für deine Hilfe schon mal.
ich habe hier mal zum Vergleich den Click - und Down-Code. Ich hab da einfach den Click-Code ins Down kopiert und zusätzlich noch eine Msgbox am Anfang programmiert. Damit siehst Du die Reihenfolge der Ausführung und was zum Zeitpunkt der Ausführung die Value-Eigenschaft ist. Wenn Du das probierst und durchdenkst, könnte bei einer Lösungsansatz z.B. das Visible im Down ausreichen, das Value aber in beide Codes. Bei der ersten Ausführung hat das Down keinen Value, bei der zweiten Ausführung auf derselben Zeile gibt es kein Click. Du musst im Anschluss eventuell noch die gesetzten Zellwerte der anderen bzw. der dann wieder ausgeblendeten Listboxen zurücksetzen.
Code:
Private Sub ListBox1_Click() MsgBox 1 & vbTab & ListBox1.Value ListBox2.Visible = True ListBox3.Visible = False ListBox4.Visible = False [A12] = ListBox1.Value End Sub
Code:
Private Sub ListBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) MsgBox 2 & vbTab & ListBox1.Value ListBox2.Visible = True ListBox3.Visible = False ListBox4.Visible = False [A12] = ListBox1.Value End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
12.01.2020, 19:15 (Dieser Beitrag wurde zuletzt bearbeitet: 12.01.2020, 19:15 von Kuwer.
Bearbeitungsgrund: Code berichtigt
)
Hallo Klaus,
ersetze mal Deinen aktuellen Code im Userform1 durch diesen:
Private Sub ListBox1_Click() ListBox2.Visible = True ListBox3.Visible = False ListBox4.Visible = False [A12] = ListBox1.Value End Sub Private Sub ListBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) ListBox2.Visible = True ListBox3.Visible = False ListBox4.Visible = False [A12] = ListBox1.Value End Sub
Private Sub ListBox2_Click() ListBox2.Visible = True ListBox3.Visible = True ListBox4.Visible = False [B12] = ListBox2.Value End Sub Private Sub ListBox2_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) ListBox2.Visible = True ListBox3.Visible = True ListBox4.Visible = False [B12] = ListBox2.Value End Sub
Private Sub ListBox3_Click() ListBox2.Visible = True ListBox3.Visible = True ListBox4.Visible = True [C12] = ListBox3.Value End Sub Private Sub ListBox3_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) ListBox2.Visible = True ListBox3.Visible = True ListBox4.Visible = True [C12] = ListBox3.Value End Sub
Private Sub ListBox4_Click() ListBox2.Visible = True ListBox3.Visible = True ListBox4.Visible = True [d12] = ListBox4.Value UserForm2.Show End Sub Private Sub ListBox4_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) ListBox2.Visible = True ListBox3.Visible = True ListBox4.Visible = True [d12] = ListBox4.Value UserForm2.Show End Sub
Private Sub UserForm_Activate() ListBox2.Visible = False ListBox3.Visible = False ListBox4.Visible = False End Sub
Statt MouseDown sind in allen Listboxen MouseUp-Ereignisse drin. Das Initialize- wurde durch das Activate-Ereignis ersetzt.