ich möchte in Excel einen variablen Zeilenbereich ein- und ausblenden.
Variabel deshalb, weil ggf. später neue Zeilen zu diesem Bereich hinzukommen könnten.
Wenn ich dies mit "Rows" programmiere, fragt Excel nur diese bestimmten Zeilen ab. Wenn jedoch irgendwo Zeilen hinzukommen, muss ich überall die definierten Rows wieder ändern / aktualisieren.
Ich suche eine Möglichkeit, wo Excel einen Bereich an Zeilen ein- ausblendet, unabhängig ob Zeilen in dem Sheet hinzukommen oder gelöscht werden.
z.B. aktualisiert sich der Bereich im SVERWEIS automatisch, wenn man Zeilen hinzufügt. Dann muss die Formel nicht extra angepasst werden (wenn die eingefügten Zellen innerhalb des SVERWEISES liegen).
Meine Abfrage sollte ungefähr so aussehen:
Wenn Clickbox "1" aktiviert wird, blende Sheet 1 ein UND blende im Sheet "DL" den Zeilenbereich ein
wie gesagt, Sheets einblenden und feste Zeilen bekomme ich hin.
Aber wie kann ich Zeilen einblenden, die im VBA automatisch aktualisiert werden, wenn ich später in dem Bereich oder in dem Sheet "DL" neue Zeilen hinzufüge oder Zeilen lösche?
Kann man diesen Zeilenbereich in einer Spalte mit einem Namen versehen, und VBA blendet dann nur die Zeilen ein, die in der Spalte den richtigen Namen haben? z.B. in Spalte A Zeile 10 bis Zeile 15 Name=XY?
Bisheriger VBA-Code:
:
_______________________________________________________________________
Private Sub CheckBoxDatenschutz_Click()
Worksheets("Datenschutz").Visible = IIf(CheckBoxDatenschutz, -1, 2)
If CheckBoxDatenschutz.Value = True Then
Worksheets("Summen").Rows("301:302").EntireRow.Hidden = False
Worksheets("Summen").Rows("337").EntireRow.Hidden = False
Worksheets("DLSW").Rows("57").EntireRow.Hidden = False
Worksheets("DLSW").Rows("808:818").EntireRow.Hidden = False -> diesen Bereich hätte _
ich gerne variabel / flexibel
Else
Worksheets("Summen").Rows("301:302").EntireRow.Hidden = True
Worksheets("Summen").Rows("337").EntireRow.Hidden = True
Worksheets("DLSW").Rows("57").EntireRow.Hidden = True
Worksheets("DLSW").Rows("808:818").EntireRow.Hidden = True
End If
End Sub
_________________________________________________________________________
Wäre super, wenn mir jemand eine einfache Lösung dafür nennen könnte. Je einfacher und kürzer, desto besser :-)
LG Stephanie