Clever-Excel-Forum

Normale Version: Zeile in Abhängigkeit von Bedingung verbergen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Servus,

versuche gerade mit äußerst begrenzten VBA Fähigkeiten folgende Aufgabe in einer UserForm auszuführen:

In ComboBox1 wird ein Wert angewählt in Abhängigkeit dessen sich Combobox2 füllt. Combobox1 enthält Werte aus Spalte 1, ComboBox2 aus Spalte 2. Durch Auswahl eines Eintrages in ComboBox2 wird eine ListBox1 mit Einträgen aus Spalte 3 gefüllt. Durch anklicken des Label27 soll Spalte 3 mit dem gewählten Eintrag der ListBox1 abgeglichen werden und so die Variable "lindex" die Zeilennummer erhalten, in der der Wert steht. Sobald der entsprechende Eintrag gefunden ist, soll in der gleichen Zeile Spalte 2 durch "000" und Spalte 3 durch "00000" ersetzt werden. Da der Text (meines Erachtens?) in ComboBox1 immernoch den ursprünglichen Wert hat (nicht die "000" durch das Ersetzen, da ich die UserForm nicht aktualisiere o.ä.) will ich nun in Spalte 1 suchen ob der Wert noch immer in einer anderen Zeile aufzufinden ist (bevor ich zur letzten Zeile, also dem Wert "" komme). Falls ja soll nichts unternommen werden (daher der Code "...Then...Else..." ohne Anweisung), ansonsten soll auf Sheet 2 (!!) nach dem Text der ComboBox1 gesucht werden und die entsprechende Zeile ausgeblendet werden. Erhalte einen Laufzeitfehler in der Zeile mit dem "Or". Falls jemand den wirren Text durchblick, Hut ab und danke für jegliche Versuche mir zu helfen!

Code:
Private Sub Label27_Click()
If ListBox1.ListIndex >= 0 Then
        lindex = 2
        Do While Trim(CStr(Sheets(1).Cells(lindex, 1).Value)) <> ""
            If ListBox1.Text = Trim(CStr(Sheets(1).Cells(lindex, 3).Value)) Then
                Sheets(1).Cells(lindex, 1).Value = "000"
                Sheets(1).Cells(lindex, 2).Value = "00000"
        Exit Do
            End If
        lindex = lindex + 1
        Loop
    End If
If ComboBox1.Text <> "" Then
    lindex = 2
    Do While Sheets(1).Cells(lindex, 1) <> ComboBox1.Text Or Sheets(1).Cells(lindex, 1) = ""
    lindex = lindex + 1
    Loop
    If Sheets(1).Cells(lindex, 1) = ComboBox1.Text Then
    Else
    lindex = 2
    Do While Sheets(2).Cells(lindex, 1) <> ComboBox1.Text
    lindex = lindex + 1
    Loop
    Rows(lindex).EntireRow.Hidden = True
    End If
End If
ListBox1.Clear
ComboBox1.Clear
ComboBox2.Clear
End Sub
Hallo Fupi,

Du hast Deinen Beitrag ohne weitere Hinweise als erledigt markiert. Ist das ok?