HERBERS Excel-Forum - die Dialoge

Thema: Gemäß Aufruf einlesen

Home
In Abhängigkeit zur aufrufenden Schaltfläche wird die ListBox mit Werte gefüllt. In der ListBox ausgewählte Einträge werden in die Spalte der aufrufenden Schaltfläche eingetragen. Gemäß Aufruf einlesen
  • Prozedur: CallForm
  • Art: Sub
  • Modul: Standardmodul
  • Zweck: UserForm aufrufen
  • Ablaufbeschreibung:
    • Das erste Zeichen der Aufschrift der aufrufenden Schaltfläche in die Tag-Eigenschaft der UserForm eintragen
    • UserForm aufrufen
  • Code:

    
    Sub CallForm()
       With frmVersetzt
          .Tag = Left(ActiveSheet.Buttons(Application.Caller).Caption, 1)
          .Show
       End With
    End Sub
    
  • Prozedur: UserForm_Activate
  • Art: Ereignis
  • Modul: Klassenmodul der UserForm
  • Zweck: Spaltenwerte in ListBox schreiben
  • Ablaufbeschreibung:
    • Werte der Spalte, in der sich die aufrufende Schaltfläche befindet, in die ListBox schreiben
  • Code:

    
    Private Sub UserForm_Activate()
       lstWerte.List = Range(Cells(3, CInt(Me.Tag)), _
          Cells(17, CInt(Me.Tag))).Value
    End Sub
    
  • Prozedur: cmdEintragen_Click
  • Art: Ereignis
  • Modul: Klassenmodul der UserForm
  • Zweck: Spaltenwerte in ListBox schreiben
  • Ablaufbeschreibung:
    • Variablendeklaration
    • Schleife über alle ListBox-Elemente bilden
    • Wenn das aktuelle Element markiert ist, der Spalte der aufrufenden Schaltfläche hinzufügen
  • Code:

    
    Private Sub cmdEintragen_Click()
       Dim iCounter As Integer, iRow As Integer
       iRow = Cells(Rows.Count, CInt(Me.Tag)).End(xlUp).Row
       For iCounter = 0 To lstWerte.ListCount - 1
          If lstWerte.Selected(iCounter) Then
             iRow = iRow + 1
             Cells(iRow, CInt(Me.Tag)).Value = lstWerte.List(iCounter)
          End If
       Next iCounter
    End Sub