Thema Datum  Von Nutzer Rating
Antwort
Rot Listbox um Funktion erweitern
06.09.2017 17:33:12 Hatsch
NotSolved
07.09.2017 16:06:46 Mackie
NotSolved

Ansicht des Beitrags:
Von:
Hatsch
Datum:
06.09.2017 17:33:12
Views:
984
Rating: Antwort:
  Ja
Thema:
Listbox um Funktion erweitern
Hallo an alle,

habe eine Userform mit folgendem Code:

Private Sub ListBox1_Click()
 Dim pfadPDF As String
 Dim lZeile As Long
 
   'Wenn der Benutzer einen Namen anklickt, suchen wir
   'diesen in der Tabelle6 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 6 drin steht
       Do While Trim(CStr(Tabelle6.Cells(lZeile, 2).Value)) <> ""
       
           'Wenn wir den Namen aus der ListBox1 in der Tabelle 6 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.

Bin für jede Hilfe dankbar


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Listbox um Funktion erweitern
06.09.2017 17:33:12 Hatsch
NotSolved
07.09.2017 16:06:46 Mackie
NotSolved