21.04.2022, 11:00 (Dieser Beitrag wurde zuletzt bearbeitet: 21.04.2022, 11:10 von HansMartin888.)
Hallo, ich benötige etwas Hilfe bei der Umsetzung einer Idee. Leider kenne ich mich so gut wie garnicht mit Makros und VBA aus, die verschiedenen Forenbeiträge die ich bei Google gefunden habe, haben mir leider nicht geholfen. Folgendes möchte ich erreichen:
Wenn ich in A1 ein "x" einsetze, dann sollen alle Spalten "B bis unendlich" in denen ich bei "B1 bis B unendlich" ein "x" eingetragen habe ausgeblendet werden. Gleichzeitig sollen auch alle Zeilen "2 bis unendlich" ausgeblendet werden, sofern ich in "A2 bis A unendlich" ein "x" eingetragen habe. Wenn ich dann das "x" in A1 wieder entferne, sollen automatisch wieder alle Spalten und Zeilen aufgeklappt werden. Alternativ wäre sowas wie ein Knopf statt dem "x"
Über Eure Hilfe würde ich mich riesig freuen, bin gerade echt am verzweifeln da ich nirgendwo was brauchbares finde.
Hier ein Beispiel. Doppelklick in A1. Der Code setzt voraus das in Spalte(A) und Zeile(1) nur in den Zellen etwas steht die Ein/Ausgeblendet werden sollen.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Address = "$A$1" Then Cancel = True On Error Resume Next Rows(1).SpecialCells(xlCellTypeConstants).Columns.Hidden = Not Rows(1).SpecialCells(xlCellTypeConstants).Columns(1).Hidden Columns(1).SpecialCells(xlCellTypeConstants).Rows.Hidden = Not Columns(1).SpecialCells(xlCellTypeConstants).Rows(1).Hidden End If End Sub
Gruß Elex
Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:1 Nutzer sagt Danke an Elex für diesen Beitrag 28 • HansMartin888
vielen herzlichen Dank für deine schnelle Hilfe, einfach unglaublich wie man mit so wenig Code so ein tolles Ergebnis "zaubern" kann. Vielen lieben Dank!!!!!!!!!!!!!!!
könnte man das auch umdrehen, sodass alle Spalten und Zeilen in denen nichts steht ausgeblendet werden, anstatt alle Spalten und Zeilen in denen etwas steht?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Address = "$A$1" Then Cancel = True On Error Resume Next If Target.Value = "Ein" Then Target.Value = "Aus" Cells.Columns.Hidden = False Cells.Rows.Hidden = False Else Target.Value = "Ein" Rows(1).SpecialCells(xlCellTypeBlanks).Columns.Hidden = True Columns(1).SpecialCells(xlCellTypeBlanks).Rows.Hidden = True End If End If End Sub
Gruß Elex
Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:1 Nutzer sagt Danke an Elex für diesen Beitrag 28 • HansMartin888
gibt es denn in deinem Code die Möglichkeit, durch Klicken alle Spalten und Zeilen in denen nichts steht auszublenden, und gleichzeitig jene Spalten in denen ein bestimmtes Zeichen steht (z.B. ein "!"), nicht nur eingeblendet zu lassen (wie bisher) sondern auch noch links zu fixieren?
Mein Problem: Ich habe bereits die ersten 4 Spalten fixiert aber ich möchte dass nach Ausblenden noch eine weitere Spalte, welche sich jedoch mitten drin befindet links an die fixierten Spalten mit angeheftet wird. Ich weiß nun nicht ob dies überhaupt umsetzbar ist.