Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Bei Zellauswahl UserForm mit Artikelnummern aufrufen

Gruppe

SelectionChange

Problem

Bei Auswahl einer Zelle in Spalte A soll eine UserForm mit ComboBox-Daten aus der Data-Blatt aufgerufen werden. Die UserForm-Eintragungen sollen in die Zellen übernommen werden.

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

ClassModule: Tabelle1

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Target.Cells.Count > 1 Then Exit Sub
   If Target.Row = 1 Then Exit Sub
   If Target.Column <> 1 Then Exit Sub
   frmArtikel.Show
End Sub

ClassModule: frmArtikel

Private Sub txtArtNo_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   Dim var As Variant
   var = ActiveCell.Offset(0, 1).Formula = "=vlookup([RC-1],data!a:c,2,0)"
End Sub

Private Sub cmdCancel_Click()
   Unload Me
End Sub

Private Sub cmdOK_Click()
   ActiveCell.Value = cboArtikel.List(cboArtikel.ListIndex, 0)
   ActiveCell.Offset(0, 1).Value = cboArtikel.List(cboArtikel.ListIndex, 1)
   ActiveCell.Offset(0, 2).Value = txtStueck.Value
   On Error GoTo ERRORHANDLER:
   Application.EnableEvents = False
   ActiveCell.Offset(1, 0).Select
   cboArtikel.SetFocus
ERRORHANDLER:
   Application.EnableEvents = True
End Sub

Private Sub UserForm_Initialize()
   cboArtikel.List = Worksheets("Data").Range("A1").CurrentRegion.Value
   cboArtikel.ListIndex = 0
   txtStueck = ActiveCell.Offset(0, 2).Value
End Sub