HERBERS Excel-Forum - die Dialoge

Thema: Warenlistenauswahl in Einkaufskorb

Home
Waren aus einer Warenliste werden in einer Einkaufskorb-Liste abgelegt. Warenlistenauswahl in Einkaufskorb
  • Prozedur: UserForm_Initialize
  • Art: Ereignis
  • Modul: Klassenmodul der UserForm
  • Zweck: Warenliste in ListBox eintragen
  • Ablaufbeschreibung:
    • Variablendeklaration
    • Arbeitsblatt mit der Warenliste an eine Objektvariable übergeben
    • Index der letzten Zelle in Spalte A der Warenliste in eine Integer-Variable einlesen
    • Rahmen um das ListBox-Objekt der Warenliste bilden
    • Quellbereich der Warenliste festlegen
    • Spaltenbreite der ListBox mit der Warenliste festlegen
    • Spaltenbreite der ListBox mit dem Warenkorb festlegen
  • Code:

    
    Private Sub UserForm_Initialize()
       Dim wks As Worksheet
       Dim iRow As Integer
       Set wks = Worksheets("Waren")
       iRow = wks.Cells(Rows.Count, 1).End(xlUp).Row
       With lstWaren
          .RowSource = wks.Name & "!A2:C" & iRow
          .ColumnWidths = "40;80;60"
       End With
       lstKorb.ColumnWidths = "40;80;60"
    End Sub
    
  • Prozedur: lstWaren_Click
  • Art: Ereignis
  • Modul: Klassenmodul der UserForm
  • Zweck: Warenlistenauswahl in Einkaufskorb
  • Ablaufbeschreibung:
    • Variablendeklaration
    • Schleife über die Spalten der Warenlisten-ListBox bilden
    • Bei den ersten beiden Spalten...
    • Spaltenwerte der Warenliste-ListBox in Warenkorb-ListBox übernehmen
    • Spaltenwerte der Warenliste-ListBox in Warenkorb-ListBox formatiert übernehmen
  • Code:

    
    Private Sub lstWaren_Click()
       Dim iCounter As Integer
       lstKorb.AddItem
       For iCounter = 0 To 2
          If iCounter < 2 Then
             lstKorb.List(lstKorb.ListCount - 1, iCounter) = _
                lstWaren.List(lstWaren.ListIndex, iCounter)
          Else
             lstKorb.List(lstKorb.ListCount - 1, iCounter) = _
                Format(lstWaren.List(lstWaren.ListIndex, iCounter), "0.00")
          End If
       Next iCounter
    End Sub
    
  • Prozedur: lstKorb_DblClick
  • Art: Ereignis
  • Modul: Klassenmodul der UserForm
  • Zweck: Warenkorbeintrag entfernen
  • Ablaufbeschreibung:
    • Warenkorbeintrag entfernen
  • Code:

    
    Private Sub lstKorb_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
       lstKorb.RemoveItem lstKorb.ListIndex
    End Sub