Brauchen Sie Hilfe, um Excel-Zeilen basierend auf dem Wert in einer Zelle auszublenden / anzuzeigen, lassen Sie die Zeilen jedoch später verschieben

3068
Jessica

In Zeile 4 stelle ich eine Frage und D4 enthält entweder Ja oder Nein.

Wenn die Antwort in D4 Ja lautet, möchte ich, dass die ausgeblendeten Zeilen 5 und 5 mit Folgefragen angezeigt werden. Das funktioniert für mich:

If Range("D4").Value = "No" Then Rows("5:6").EntireRow.Hidden = True ElseIf Range("D4").Value = "Yes" Then Rows("5:6").EntireRow.Hidden = False 

In der Spalte AI geben Sie die Anfangsfragen (wie in Zeile 4) als "Tiered Questions" an, und die nachfolgenden Fragen (wie die Zeilen 5 und 6) werden als "Folge-Q" bezeichnet.

Gibt es eine Möglichkeit, dies zu tun, ohne jede Zeile manuell zu aktualisieren? Außerdem muss ich das Hinzufügen / Entfernen von Zeilen zulassen, oberhalb derer sich auswirkt, welche Zeilen ein- / ausgeblendet werden. Vielen Dank.

0
Kannst du ein Bild von dem posten, was du fragst? Ich verstehe diesen Teil Ihrer Frage nicht. * Gibt es eine Möglichkeit, dies zu tun, ohne jede Zeile manuell zu aktualisieren? * Prasanna vor 8 Jahren 0

2 Antworten auf die Frage

0
CallumDA

Ich weiß nicht genau, was Sie mit "manuell jede Zeile aktualisieren" meinen, aber wenn Sie Ihren Code in ein Worksheet_Change-Sub in Ihr Arbeitsblattobjekt (kein Modul) einfügen, wird er automatisch jedes Mal ausgeführt, wenn Zelle D4 in diesem Arbeitsblatt aktualisiert wird

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$4" Then If Target.Value = "No" Then Rows("5:6").EntireRow.Hidden = True ElseIf Target.Value = "Yes" Then Rows("5:6").EntireRow.Hidden = False End If End If End Sub 
Vielen Dank CallumDA33. Es tut mir leid, dass ich nicht besser artikulieren konnte, aber ich möchte, dass D4 für die Zeilen 5 und 6 Verstecken / Ausblenden auslöst. Ich möchte auch, dass D7 (meine "Tiered-Frage") das Ausblenden / Einblenden der Zeilen 8 und 9 ("Folge-Q") auslöst, und D14 (Tiered), um die Zeilen 15, 16, 17 (Follow-up) und auszulösen weiter und weiter durch mein 350er Reihenblatt. Vielen Dank für deine Hilfe! Jessica vor 8 Jahren 0
0
Jessica

Ich erhielt Hilfe von einem Freund und wollte die Lösung weitergeben - unten.

Bei jeder Aktualisierung der Arbeitsmappe in Spalte 4 (dies ist die Client-Antwort), wenn sie eine "abgestufte Frage" mit "Nein" beantworten ... Die nachfolgenden Zeilen mit einem "Folge-Q" werden ausgeblendet.

Sie müssten dieses Makro aktualisieren, wenn Sie die Spalten Business Criteria ("A") oder Client Answer verschoben haben.

Das sollte funktionieren:

Private Sub Worksheet_Change (ByVal-Ziel als Bereich) Dim i As Integer

If Target.Column = 4 Then If Range("A" & Target.Row).Text = "Tiered Question" Then i = 1 Do While Range("A" & Target.Row + i).Text = "Follow-Up Q" Range("A" & Target.Row + i).EntireRow.Hidden = (Target.Value = "No") i = i + 1 Loop End If End If 

End Sub