Hallo an alle,
habe eine Userform mit folgendem Code:
Funktioniert soweit recht gut, nur möchte ich in der Listbox1 nicht alle Einträge von Spalte 1 haben, sondern sie an ein Bedingung knüpfn, z.B., wenn Tabelle6.Cells(lZeile, 11).Value = "" oder wenn Tabelle6.Cells(lZeile, 12).Value ist rot markiert.
Der Code befindet sich in der Tabelle Jahresübersicht und die Userform wird über den Button Mahnung senden ausgeführt.
Im Tabellenblatt Eingabe gibt es den Administratorbutton mit Passwort: "123" für die Bearbeitung.
Bin für jede Hilfe dankbar
Mfg
habe eine Userform mit folgendem Code:
Code:
Private Sub ListBox1_Click()
Dim pfadPDF As String
Dim lZeile As Long
'Wenn der Benutzer einen Namen anklickt, suchen wir
'diesen in der Tabelle3 heraus und tragen die Daten
'in die TextBoxen ein.
'Wir löschen standardmäßig alle bisherigen TextBoxen-Inhalte
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox7 = ""
TextBox8 = ""
'Nur wenn ein Eintrag selektiert/markiert ist
'If ListBox1.ListIndex >= 0 Then
lZeile = 2 'Start in Zeile 2, Zeile 1 sind ja die Überschriftrn
'Schleife solange etwas in der ersten Spalte in Tabelle 1 drin steht
Do While Trim(CStr(Tabelle6.Cells(lZeile, 2).Value)) <> ""
'Wenn wir den Namen aus der ListBox1 in der Tabelle3 Spalte 1
'gefunden haben, übertragen wir die anderen Spalteninhalte
'in die TextBoxen!
If ListBox1.Text = Trim(CStr(Tabelle6.Cells(lZeile, 2).Value)) Then
'TextBoxen füllen
TextBox1 = Trim(CStr(Tabelle6.Cells(lZeile, 1).Value))
TextBox2 = "Nr_" & Tabelle6.Cells(lZeile, 2).Value
TextBox3 = Tabelle6.Cells(lZeile, 3).Value
TextBox4 = Tabelle6.Cells(lZeile, 4).Value
TextBox5 = Tabelle6.Cells(lZeile, 5).Value
TextBox6 = Tabelle6.Cells(lZeile, 6).Value
TextBox7 = Format(Tabelle6.Cells(lZeile, 7).Value, "Currency")
TextBox7.BackColor = Tabelle6.Cells(lZeile, 12).DisplayFormat.Interior.Color
TextBox8 = Tabelle6.Cells(lZeile, 9).Value
Exit Do 'Vorzeitiges Ende, da der Datensatz schon gefunden ist
End If
lZeile = lZeile + 1 'Nächste Zeile bearbeiten
Loop
pfadPDF = Worksheets("Konfiguration").Range("C3").Value
Dim MyObj As Object, MySource As Object, file As Variant
file = Dir(pfadPDF)
While (file <> "")
If InStr(file, UserForm2.TextBox2) Then
UserForm2.TextBox9.Value = pfadPDF & file
Exit Sub
End If
file = Dir
Wend
End Sub
Code:
Private Sub UserForm_Initialize()
Dim lZeile As Long
'Alle TextBoxen leer machen
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox7 = ""
TextBox8 = ""
'In dieser Routine laden wir alle vorhandenen
'Einträge in die ListBox1
ListBox1.Clear 'Zuerst einmal die Liste leeren
lZeile = 2 'Start in Zeile 2, Zeile 1 sind ja die Überschriftrn
'Schleife solange etwas in der ersten Spalte in Tabelle 1 drin steht
Do While Trim(CStr(Tabelle6.Cells(lZeile, 2).Value)) <> ""
'Aktuelle Zeile in die ListBox eintragen
'ListBox1.AddItem "Rechnung Nr. " & Trim(CStr(Tabelle6.Cells(lZeile, 2).Value) & " vom " & Trim(CStr(Tabelle6.Cells(lZeile, 1).Value)) & " - " & Trim(CStr(Tabelle6.Cells(lZeile, 4).Value)))
ListBox1.AddItem Trim(CStr(Tabelle6.Cells(lZeile, 2).Value))
lZeile = lZeile + 1 'Nächste Zeile bearbeiten
Loop
End Sub
Funktioniert soweit recht gut, nur möchte ich in der Listbox1 nicht alle Einträge von Spalte 1 haben, sondern sie an ein Bedingung knüpfn, z.B., wenn Tabelle6.Cells(lZeile, 11).Value = "" oder wenn Tabelle6.Cells(lZeile, 12).Value ist rot markiert.
Der Code befindet sich in der Tabelle Jahresübersicht und die Userform wird über den Button Mahnung senden ausgeführt.
Im Tabellenblatt Eingabe gibt es den Administratorbutton mit Passwort: "123" für die Bearbeitung.
Bin für jede Hilfe dankbar
Mfg