Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Zellen für Eintrag auswählen und UserForm-ListBox aufrufen

Gruppe

ListBox

Problem

Ich habe in den Spalte A:E Einträge zu machen. Der Cursor soll nach jedem Eintrag eine Zelle nach rechts springen. Ist er in Spalte E angelangt, soll sich eine UserForm mit einer ListBox zur Auswahl öffnen.

Lösung
Geben Sie den nachfolgenden Code in das Klassenmodul der UserForm ein.

ClassModule: Tabelle1

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
   If Target.Column < 4 Then
      Target.Offset(0, 1).Select
   ElseIf Target.Column = 4 Then
      Target.Offset(0, 1).Select
      frmAuswahl.Show
   ElseIf Target.Column = 5 Then
      Target.Offset(1, -4).Select
   End If
End Sub

ClassModule: frmAuswahl

Private Sub ListBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    ActiveCell = ListBox1.Value
    Unload Me
End Sub

Private Sub UserForm_Initialize()
    With frmAuswahl.ListBox1
        .AddItem "Freund"
        .AddItem "Feind"
        .AddItem "Dienst"
        .AddItem "Urlaub"
        .ListIndex = 0
    End With
End Sub