Hallo, danke dir.
Zur Übersicht:
Im Hauptmodul "ThisDocument" rufe ich die erste Userform "Personen wie folgt auf:
Unload Personen
Personen.Show
In der Userform "Personen" befinden sich zwei Haken die angeklickt werden können.
Sub CommandButton1_Click()
'Wenn für alle Personen eine Spendenbescheinigung ausgestellt werden soll
If CheckBox1.Value = True Then
Me.Hide
Box1 = CheckBox1
Box2 = False
'Wenn für ausgewählte Personen eine Spendenbescheinigung ausgestellt werden soll
ElseIf CheckBox2.Value = True Then
Me.Hide
Box1 = False
Box2 = CheckBox2
Auswahl.Show
'Betrag, ab dem eine Spendenbescheingung erstellt werden soll
Betrag = TextBox1.Value
End If
End Sub
Wenn Haken für Box2 gesetzt ist, geht es weiter zur nächsten Userform "Auswahl", in der mittels der Listbox die Einträge ausgewählt werden können. Wenn die Auswahl getroffen ist und in der Variablen Array gespeichert ist
Option Explicit
Sub CommandButton1_Click()
Me.Hide
GetSelectedListItems
End Sub
Private Function GetSelectedListItems() As Variant
Dim vntSelectedItems As Variant
Dim i As Long
Dim j As Long
If ListBox1.ListCount = 0 Then
GetSelectedListItems = Split(vbNullString) ' = Dim array(0 To -1)
Exit Function
End If
ReDim vntSelectedItems(1 To ListBox1.ListCount)
For j = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(j) Then
i = i + 1
vntSelectedItems(i) = ListBox1.List(j)
End If
Next
If i > 0 Then
ReDim Preserve vntSelectedItems(1 To i)
Else
vntSelectedItems = Split(vbNullString) ' = Dim array(0 To -1)
End If
GetSelectedListItems = vntSelectedItems
Erase vntSelectedItems
End Function
Anschließend soll es zum Modul "ThisDcoument" zurück gehen und in eine Schleife übergeben werden:
For n = 1 To letzteZeile
Name = Nummer(n, 3) & " " & Nummer(n, 4)
AuswahlPerson = Auswahl.GetSelectedListItems(i)
If AuswahlPerson = Name Then
MsgBox "Test"
ElseIf AuswahlPerson(i) = "" Then
MsgBox "Test"
End If
Next
Nur leider klappt das so nicht, da ich glaube, dass das Array bzw. die Variable mit den ausgewählten EInträgen nicht im Modul ankommt, warum auch immer.
|