Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1432to1436
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ListBox unterscheidet Zeilen mit gleichem Wert nic

ListBox unterscheidet Zeilen mit gleichem Wert nic
02.07.2015 14:22:22
Max
Hallo Leute,
Ich habe ein Problem ich habe eine Excel Ordnerliste die In Spalte A die Projektnummer hat und in Spalte B die Ordnerart (1-4). Mit der Aktuellen Maske wird alles was in den Spalten steht in die Textfelder eigetragen. Nur wenn ich Jetzt ein Projekt mit 2, 3 oder 4 Verschiedenen Arten habe dann wird mir beim anklicken in der Listbox immer nur die Information vom ersten Projekt angezeigt.
Meine Frage jetzt wie muss ich meinen Code verändern das mir bei unterschiedlicher Art alles so angezeigt wird wie es an der 2, 3 oder vierten Zeile steht?
  • Option Explicit
    Option Compare Text
    Private Sub UserForm2_Initialize()
    Dim lZeile As Long
    Suche1 = ""
    ListBox1.Clear
    lZeile = 4
    Do While Trim(CStr(Tabelle2.Cells(lZeile, 1).Value))  ""
    ListBox1.AddItem Trim(CStr(Tabelle2.Cells(lZeile, 1).Value))
    lZeile = lZeile + 1
    Loop
    End Sub
    
    Private Sub ListBox1_Click()
    Dim lZeile As Long
    Büro = ""
    Keller = ""
    Archiv = ""
    Nummer = ""
    Vernichtet = ""
    Abgegeben = ""
    Typ = ""
    If ListBox1.ListIndex >= 0 Then
    lZeile = 4
    Do While Trim(CStr(Tabelle2.Cells(lZeile, 1).Value))  ""
    If ListBox1.Text = Trim(CStr(Tabelle2.Cells(lZeile, 1).Value)) Then
    Büro = Trim(CStr(Tabelle2.Cells(lZeile, 3).Value))
    Keller = Tabelle2.Cells(lZeile, 4).Value
    Archiv = Tabelle2.Cells(lZeile, 5).Value
    Nummer = Tabelle2.Cells(lZeile, 8).Value
    Typ = Tabelle2.Cells(lZeile, 2).Value
    If Tabelle2.Cells(lZeile, 6).Value = 1 Then
    Vernichtet = "JA"
    Vernichtet.BackColor = &HFF&
    End If
    If Tabelle2.Cells(lZeile, 7).Value = 1 Then
    Abgegeben = "JA"
    Abgegeben.BackColor = &HFF&
    End If
    If Tabelle2.Cells(lZeile, 6).Value = "" Then
    Vernichtet = "NEIN"
    End If
    If Tabelle2.Cells(lZeile, 7).Value = "" Then
    Abgegeben = "NEIN"
    End If
    If Tabelle2.Cells(lZeile, 2).Value = 2 Then
    Typ = Tabelle2.Cells(lZeile, 2).Value
    Typ.BackColor = &HC000&
    End If
    If Tabelle2.Cells(lZeile, 2).Value = 3 Then
    Typ = Tabelle2.Cells(lZeile, 2).Value
    Typ.BackColor = &HC0C000
    End If
    If Tabelle2.Cells(lZeile, 2).Value = 4 Then
    Typ = Tabelle2.Cells(lZeile, 2).Value
    Typ.BackColor = &HC000C0
    End If
    Exit Do
    End If
    lZeile = lZeile + 1
    Loop
    End If
    End Sub
    
    Private Sub Suche1_Change()
    Dim lZeile As Long
    ListBox1.Clear
    lZeile = 4
    Do While Trim(CStr(Tabelle2.Cells(lZeile, 1).Value))  ""
    If Trim(CStr(Tabelle2.Cells(lZeile, 1).Value)) = Suche1.Text Then
    ListBox1.AddItem Trim(CStr(Tabelle2.Cells(lZeile, 1).Value))
    ListBox1.List(ListBox1.ListCount - 1, 1) = Trim(CStr(Tabelle2.Cells(lZeile, 2).Value))
    ListBox1.List(ListBox1.ListCount - 1, 2) = Trim(CStr(Tabelle2.Cells(lZeile, 3).Value))
    End If
    lZeile = lZeile + 1
    Loop
    End Sub
    


  • 1
    Beitrag zum Forumthread
    Beitrag zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: ListBox unterscheidet Zeilen mit gleichem Wert nic
    06.07.2015 00:41:28
    fcs
    Hallo Max,
    mache die Listbox mit 4 Spalten und lese in der 4. Spalte zusätzlich die Zeilennummer der Trefferzeilen ein.
    Im Click-Makro der Listbox muss man dann nicht mehr nach der Zeile mit dem Eintrag suchen, sondern kann direkt auf die Zeile in der Tabelle mit den gewüschten Daten zugreifen.
    Außerdem müssen die Steuerelemente, die die Farbe wechseln am Anfang des Makros auf die Grundfarbe gesetzt werden.
    Gruß
    Franz
    angepasste Makros:
    Option Explicit
    Option Compare Text
    Private Sub UserForm_Initialize()
    Dim lZeile As Long
    Suche1 = ""
    With Me.ListBox1
    .ColumnCount = 4
    .ColumnWidths = "50Pt;25Pt;25Pt;0Pt" 'Spaltenbreiten ggf. anpassen
    .Clear
    'Alle Einträge in Listbox einlesen
    lZeile = 4
    Do While Trim(CStr(Tabelle2.Cells(lZeile, 1).Value))  ""
    .AddItem Trim(CStr(Tabelle2.Cells(lZeile, 1).Value))
    .List(.ListCount - 1, 1) = Trim(CStr(Tabelle2.Cells(lZeile, 2).Value))
    .List(.ListCount - 1, 2) = Trim(CStr(Tabelle2.Cells(lZeile, 3).Value))
    .List(.ListCount - 1, 3) = lZeile
    lZeile = lZeile + 1
    Loop
    End With
    End Sub
    Private Sub ListBox1_Click()
    Dim lZeile As Long, lngFarbe As Long
    lngFarbe = &H80000005 'Basisfarbe der Box hintergrunde - weiß
    Büro = ""
    Keller = ""
    Archiv = ""
    Nummer = ""
    Vernichtet = ""
    Abgegeben = ""
    Typ = ""
    Me.Typ.BackColor = lngFarbe
    Me.Abgegeben.BackColor = lngFarbe
    Me.Vernichtet.BackColor = lngFarbe
    If ListBox1.ListIndex >= 0 Then
    lZeile = ListBox1.List(ListBox1.ListIndex, 3)
    Büro = Trim(CStr(Tabelle2.Cells(lZeile, 3).Value))
    Keller = Tabelle2.Cells(lZeile, 4).Value
    Archiv = Tabelle2.Cells(lZeile, 5).Value
    Nummer = Tabelle2.Cells(lZeile, 8).Value
    Typ = Tabelle2.Cells(lZeile, 2).Value
    If Tabelle2.Cells(lZeile, 6).Value = 1 Then
    Vernichtet = "JA"
    Vernichtet.BackColor = &HFF&
    End If
    If Tabelle2.Cells(lZeile, 7).Value = 1 Then
    Abgegeben = "JA"
    Abgegeben.BackColor = &HFF&
    End If
    If Tabelle2.Cells(lZeile, 6).Value = "" Then
    Vernichtet = "NEIN"
    End If
    If Tabelle2.Cells(lZeile, 7).Value = "" Then
    Abgegeben = "NEIN"
    End If
    If Tabelle2.Cells(lZeile, 2).Value = 2 Then
    Typ = Tabelle2.Cells(lZeile, 2).Value
    Typ.BackColor = &HC000&
    End If
    If Tabelle2.Cells(lZeile, 2).Value = 3 Then
    Typ = Tabelle2.Cells(lZeile, 2).Value
    Typ.BackColor = &HC0C000
    End If
    If Tabelle2.Cells(lZeile, 2).Value = 4 Then
    Typ = Tabelle2.Cells(lZeile, 2).Value
    Typ.BackColor = &HC000C0
    End If
    End If
    End Sub
    Private Sub Suche1_Change()
    Dim lZeile As Long
    With ListBox1
    .Clear
    lZeile = 4
    Do While Trim(CStr(Tabelle2.Cells(lZeile, 1).Value))  ""
    If Trim(CStr(Tabelle2.Cells(lZeile, 1).Value)) = Suche1.Text Then
    .AddItem Trim(CStr(Tabelle2.Cells(lZeile, 1).Value))
    .List(.ListCount - 1, 1) = Trim(CStr(Tabelle2.Cells(lZeile, 2).Value))
    .List(.ListCount - 1, 2) = Trim(CStr(Tabelle2.Cells(lZeile, 3).Value))
    .List(.ListCount - 1, 3) = lZeile
    End If
    lZeile = lZeile + 1
    Loop
    End With
    End Sub
    

    Anzeige

    310 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige