Erstellen Sie eine Umschaltfläche, um die Zeilen eines Arbeitsblatts basierend auf den Zellenwerten eines anderen Arbeitsblatts auszublenden

0

Ich habe zwei Excel-Tabellen "Zusammenfassung" und "Vorschlagseinheiten". Ich möchte, dass Zeile 12 im Übersichtsblatt basierend auf dem R12-Wert im Blatt "Vorschlagseinheiten" ausgeblendet wird. Dasselbe gilt für alle Zeilen zwischen 12 und 27 im Zusammenfassungsblatt auf der Grundlage des Werts in Zellen (R: 27,59,72,76,122,136,222,231,302,322,329,367,450,467,482,493) im Blatt Vorschlagseinheiten. Ich verwende den folgenden Code, der nur den Umschalter und die erste Zeile von 12 in Zusammenfassungsblatt und Zelle R12 in Vorschlageinheitenblatt zeigt. Es ist keine Aktion aufgetreten, als ich das ausgeführt habe, nur um es zu testen.

Private Sub ToggleButton1_Click()

End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

    Application.ScreenUpdating = False

    If Intersect(Target, Range("R12:R493")) Is Nothing Then Exit Sub

    If Target.Address = ("$R$12") And Target.Value = "NO" Then
        Sheets("Summary").Row("11").EntireRow.Hidden = False
    ElseIf Target.Address = ("$R$12") And Target = "YES" Then
        Sheets("Summary").Row("11").EntireRow.Hidden = True

    End If

    Application.ScreenUpdating = True

End Sub

End Sub
G.Dav
quelle

Antworten:

0

Finden Sie den Unterschied ... Sie treten selbst, wenn Sie es sehen ...

Private Sub Worksheet_Change(ByVal Target As Range)

Application.ScreenUpdating = False

Dim n As Integer

If Intersect(Target, Range("R12:R493")) Is Nothing Then Exit Sub

Sheets("Data").Range("A1") = Target.Row
n = Sheets("Data").Range("A2").Value


If Target.Address = ("$R$12") And Target.Value = "NO" Then
    Sheets("Summary").Rows("n").EntireRow.Hidden = False
ElseIf Target.Address = ("$R$12") And Target = "YES" Then
    Sheets("Summary").Rows("n").EntireRow.Hidden = True

End If

Application.ScreenUpdating = True

End Sub

Sie müssen "Zeilen" und nicht "Row" verwenden.

BEARBEITEN: Sie müssen ein weiteres Blatt mit dem Namen "Daten" erstellen (oder was auch immer, aktualisieren Sie einfach die Formel und das Makro). Lassen Sie die Zelle A1 leer, fügen Sie in der Zelle A2 die folgende Formel hinzu

=VLOOKUP(A1,C:D,2,FALSE)

Dann geben Sie in Spalte C die Zielzeilennummer an und in Spalte D die Zeilennummern, die ausgeblendet werden müssen

DavePenn
quelle
Wow, ich trete mit dem Unterschied davon aus! Würde ich bei der Codierung aller Zellen, die ich in Spalte R des Blattes "Vorschlagseinheiten" benötige, dies einfach für jede Zelle und Zeile kopieren, um sie in Blatt "Zusammenfassung" auszublenden? Danke für die schnelle Antwort.
G.Dav
Es wäre schneller, die Zeilennummer als "n" zu definieren und ein Referenzblatt mit 2 Spalten zu haben, die die Zielzeile und die auszublendende Zeile enthalten. Ich werde meine Antwort aktualisieren
DavePenn