Ich habe den folgenden VBA-Code geschrieben, der eine Bedingung enthält, in der, wenn Cell # = "Yes" (Ja), die untere Zeile erweitert wird, andernfalls, wenn Cell # = "No" (Nein), die untere Zeile reduziert wird.
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("E15").Value = "Yes" Then
ActiveSheet.Outline.ShowLevels RowLevels:=3
ElseIf Range("E15").Value = "No" Then
ActiveSheet.Outline.ShowLevels RowLevels:=8
End If
End Sub
Nun scheint dies ohne Probleme zu funktionieren, aber aus irgendeinem Grund werden alle Zeilen, die sich in derselben Zeilenebene wie im Code befinden, vergrößert und verkleinert. Ich möchte wirklich, dass ich genau auswählen kann, welche Zeile ich möchte Erweitern und Reduzieren basierend auf der Bedingung. '
Wie Sie sehen, bin ich kein großer VB-Profi, aber jede Hilfe wäre sehr willkommen.
Vielen Dank!
microsoft-excel
microsoft-excel-2007
macros
vba
ICH BIN ICH
quelle
quelle
Antworten:
Wenn ich Sie richtig verstehe, sollten Sie in der Lage sein, die
ShowDetails
Eigenschaft zum Erweitern und Reduzieren bestimmter Zusammenfassungszeilen in Ihrer Gliederung festzulegen und zu deaktivieren .Wie unten gezeigt,
Showdetails
handelt es sich um eine Lese- / Schreibeigenschaft einer gesamten Zeile (oder Spalte) innerhalb einer Gliederung. Verweisen Sie zum Anzeigen der Details für eine bestimmte Zusammenfassungszeile auf eine einzelne Zelle in dieser Zeile, wie im folgenden Beispielcode gezeigt. Excel gibt einen Fehler aus, wenn Sie versuchen, die Eigenschaft für eine bereits erweiterte Zusammenfassungsebene auf True zu setzen. Wenn die Zusammenfassungszeile nicht sichtbar ist, weil sie in einer größeren GruppierungShowdetails
komprimiert ist, kann die Zeile (im Hintergrund) nicht erweitert werden.quelle