Ausblenden einer Zeile über das Namenfeld

Hallo,

ich bin gerade dabei mir eine Exceltabelle zu erstellen bin auch schon ziemlich am ende angelangt nur 1 bekomm ich einfach net hin.

Ich will über Kontrollkästchen bestimmte Zeilen ausblenden was auch ganz gut funktioniert. Sobald man eine zusätzliche Zeile einfügt oder eine löscht müsste ich komplett alle eingaben aktualisieren damit die Zuordnungen wieder stimmen. Da kam die Idee man kann jeder Zelle bzw. Zeile über das Namenfeld einen Namen zuorden der an diese gebunden ist.
Da ich nun nicht so der experte bin in VB(A) suche ich rat wie ich das machen könnte, am besten an hilfe eines Beispiels. Oder hat vielleicht jemand sogar eine ellegantere Idee?

Was ich bei mir schon drin habe und Funktioniert:

Sub CheckBox1_Click()

If Tabelle1.CheckBox1.Value = True Then
Tabelle1.Rows(„83:83“).Hidden = False
Tabelle1.Rows(„165:165“).Hidden = False
End If

If Tabelle1.CheckBox1.Value = False Then
Tabelle1.Rows(„83:83“).Hidden = True
Tabelle1.Rows(„165:165“).Hidden = True
End If

End Sub

MFG werni1986

Ich will über Kontrollkästchen bestimmte Zeilen ausblenden was
auch ganz gut funktioniert. Sobald man eine zusätzliche Zeile
einfügt oder eine löscht müsste ich komplett alle eingaben
aktualisieren damit die Zuordnungen wieder stimmen. Da kam die
Idee man kann jeder Zelle bzw. Zeile über das Namenfeld einen
Namen zuorden der an diese gebunden ist.
Da ich nun nicht so der experte bin in VB(A) suche ich rat wie
ich das machen könnte, am besten an hilfe eines Beispiels.
Oder hat vielleicht jemand sogar eine ellegantere Idee?

Hi Werni,

m.W. geht es nicht direkt sondern wenn überhaupt nur aufwändig Zeileneinfügungen und -löschungen mitzuverfolgen um dann gezielt z.B. die Zeile auszublenden, die vor allen Zeileneinfügungen und -löschungen mal die Zeile 83 war.

Relativ leicht ist es in einer bestehende Tabellenstruktur allen benutzen Zeilen Namen zu vergeben, um sie dann trotz aller Zeileneinfügungen und -löschungen „wiederzufinden“.
Versagt natürlich wenn zwischenzeitlich genau dies Zeile gelöscht wurde *gg*

Das makro „namen“ überprüft Spalte A und vergibt an alle Zellen im benutzen Bereich einen Namen, der sich aus „Nam“ und der Zeilennummer zusammensetzt.

In das DokumentModul des Blattes:

Sub CheckBox1_Click()
Range(„Nam7“).EntireRow.Hidden = Not CheckBox1
Range(„Nam9“).EntireRow.Hidden = Not CheckBox1
End Sub

in ein Standardmodul, z.B. Modul1:

Option Explicit
'
Sub Namen()
Dim Zei As Long, N As Long
With ActiveWorkbook.Names
 For N = 1 To .Count
 If .Item(N) Like "Nam\*" Then .Item(N).Delete
 Next N
 For Zei = 1 To Range("A" & Rows.Count).End(xlUp).Row
 .Add Name:="Nam" & Zei, RefersToR1C1:="=" & ActiveSheet.Name & "!R" & Zei & "C1"
 Next Zei
End With
End Sub

Gruß
Reinhard

Hallo Reinhard,

danke für deine Antwort funktioniert genau so wie ich es mir vorgestellt hatte :smile:.
Das ich den Zeilen bzw. Zellen einen fest definierten Namen gebe muss war mir klar, bzw. hab ich es über den weg schon probiert. Nur hat mir der Befehl wie ich die Zeile dann über genau diesen definierten Namen anspreche gefehlt.

MFG werni1986