[VBA] Zeilen einblenden, wenn Wert in Spalte A/B

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: [VBA] Zeilen einblenden, wenn Wert in Spalte A/B
von: Christoph
Geschrieben am: 11.08.2015 15:21:18

Hallo!
ich habe folgendes Problem:
Ich habe eine Tabelle, in der in Spalte A und B Zahlenwerte stehen, die die Zugehörigkeit der Zeile definieren.
Mit meinem ToggleButton Code kann ich entwerder Spalte A oder Spalte B nach einem Wert durchsuchen, nur wie kann ich den Code umschreiben, sodass er mir in Spalte A und B sucht und wenn der Wert in einer der Spalten vorhanden ist, mir die zeile eingeblendet lässt, unabhägig davon welcher Wert in der anderen Spalte steht?

Private Sub AsBtn1_Click()
Dim L As Long
Application.ScreenUpdating = False
AsBtn1.Caption = IIf(AsBtn1.Value = True, "BVH allgemein aktiv", "BVH allgemein")
AsBtn1.BackColor = IIf(AsBtn1.Value = True, &H8000000D, &H8000000F)
If AsBtn1.Value = True Then
    For L = 7 To 70
       Rows(L).Hidden = Cells(L, 1) = "1" = False
    Next
Else
 ActiveSheet.Cells.EntireRow.Hidden = False
End If
Application.ScreenUpdating = True
End Sub
Wenn ich die
Rows(L).Hidden = Cells(L, 1) = "1" = False

Zeile auf
If Range(Cells(L, 1), Cells(L, 2)) = "1" Then
Rows(L).Hidden = False

änder bekomme ich "typen unverträglich"- fehler
Mit freundlichen Grüßen
Christoph Ruck

Bild

Betrifft: Or anstelle von If Range
von: AlexG
Geschrieben am: 11.08.2015 16:41:47
Hallo Christoph,
du masst anstelle deiner Zeile "If Range(Cells(L, 1), Cells(L, 2)) = "1" Then"
eine oder Anweisung nehmen.
If Cells(L, 1) = "1" Or Cells(L, 2) = "1" Then
Denn ein Bereich kann nicht den Wert 1 haben.
Gruß
Alex

Bild

Betrifft: AW: Or anstelle von If Range
von: Christoph
Geschrieben am: 12.08.2015 10:37:55
Ok, irgendwo steh ich gerade auf der Leitung.
wenn ich nun

    For L = 7 To 70
        If Cells(L, 1) = "1" Or Cells(L, 2) = "1" Then
        Rows(L).Hidden = True
    Next

schreibe, bekomme ich den Fehler beim Kompilieren "Next ohne for"
was mache ich falsch?
Mit freundlichen Grüßen

Bild

Betrifft: AW: Or anstelle von If Range
von: AlexG
Geschrieben am: 12.08.2015 10:51:20
Hallo Christoph,
da fehlt ein End If.

For L = 7 To 70
    If Cells(L, 1) = "1" Or Cells(L, 2) = "1" Then
        Rows(L).Hidden = True
    End If
Next

Gruß
Alex

Bild

Betrifft: AW: Or anstelle von If Range
von: Christoph
Geschrieben am: 13.08.2015 08:45:47
ok, anscheinend bin ich einfach zu blöd.
lade mal die datei hoch.
aktuelles Problem:
Wenn ich Spalte A oder B eine 1 steht, soll die Zeile nicht ausgeblendet werden.
Wenn ich nur Spalte A eine 1 einfüge funktioniert es.
Sobald ich eine 1 in Spalte B schreibe, wird mir die Spalte ausgeblendet, auch wenn ich Spalte A die 1 vorhanden ist.
https://www.herber.de/bbs/user/99526.xlsm

Bild

Betrifft: AW: Or anstelle von If Range
von: AlexG
Geschrieben am: 13.08.2015 09:22:29
Hallo Christoph,
so?

Private Sub AsBtn1_Click()
Dim L As Long

Application.ScreenUpdating = False
AsBtn1.Caption = IIf(AsBtn1.Value = True, "BVH allgemein aktiv", "BVH allgemein")
AsBtn1.BackColor = IIf(AsBtn1.Value = True, &H8000000D, &H8000000F)
If AsBtn1.Value = True Then
For L = 7 To 70
    If Cells(L, 1) = "1" Or Cells(L, 2) = "1" Then
        Rows(L).Hidden = False
    Else: Rows(L).Hidden = True
    End If
Next

Else
    ActiveSheet.Cells.EntireRow.Hidden = False
End If
    Application.ScreenUpdating = True

End Sub

Gruß
Alex

Bild

Betrifft: AW: Or anstelle von If Range
von: Christoph
Geschrieben am: 13.08.2015 09:35:28
hat geklappt!
viele Dank nochmals!!!
hab meinen Fehler erkannt =)

Bild

Betrifft: AW: Or anstelle von If Range
von: Christoph
Geschrieben am: 13.08.2015 10:07:02
hat geklappt!
viele Dank nochmals!!!
hab meinen Fehler erkannt =)

Bild

Betrifft: AW: Or anstelle von If Range
von: Christoph
Geschrieben am: 12.08.2015 10:57:21
Ok, irgendwo steh ich gerade auf der Leitung.
wenn ich nun

    For L = 7 To 70
        If Cells(L, 1) = "1" Or Cells(L, 2) = "1" Then
        Rows(L).Hidden = True
    Next

schreibe, bekomme ich den Fehler beim Kompilieren "Next ohne for"
was mache ich falsch?
Mit freundlichen Grüßen

 Bild

Beiträge aus den Excel-Beispielen zum Thema "[VBA] Zeilen einblenden, wenn Wert in Spalte A/B"