Ja. Verwende dieses Makro und weise es dem Button zu: vba Sub SpaltenEGUmschalten() Columns("E:G").EntireColumn.Hidden = Not Columns("E").EntireColumn.Hidden End Sub So funktio...
Excel-Makro: Alle Spalten in Tab1!Alle ausblenden, wobei „Alle“ als =INDIREKT(Tab2!B5):INDIREKT(Tab2!B6) definiert ist?
Antwort vomJa. Das geht per VBA, indem der definierte Name `Alle` ausgewertet und die darin enthaltenen Spalten ausgeblendet werden. ```vba Sub SpaltenAusblenden_Alle() Dim rng As Range On Error GoTo Fehler Set rng = ThisWorkbook.Names("Alle").RefersToRange If rng.Worksheet.Name = "Tab1" Then rng.EntireColumn.Hidden = True End If Exit Sub Fehler: MsgBox "Der definierte Name 'Alle' konnte nicht als Bereich aufgelöst werden.", vbExclamation End Sub ``` Wichtig: - `Alle` muss als **definierter Name** in Excel existieren. - Die Formel `=INDIREKT(Tab2!B5):INDIREKT(Tab2!B6)` muss am Ende einen gültigen Bereich in `Tab1` ergeben, z. B. `Tab1!C:C:Tab1!H:H` bzw. praktisch einen zusammenhängenden Spaltenbereich. - `INDIREKT` in einem Namen kann in VBA über `Names("Alle").RefersToRange` verwendet werden, solange der Bezug gültig ist. Falls `Alle` nur auf `Tab1` gelten soll, ist auch direkt möglich: ```vba Sub SpaltenAusblenden_Alle_Direkt() Worksheets("Tab1").Range(ThisWorkbook.Names("Alle").RefersToRange.Address).EntireColumn.Hidden = True End Sub ``` Zum Einblenden aller Spalten in `Tab1`: ```vba Sub AlleSpaltenEinblenden() Worksheets("Tab1").Columns.Hidden = False End Sub ```
Verwandte Fragen
Excel-Makro: Im Bereich B10:B20, wenn der IndentLevel in Spalte B = 1 ist, dann in dieser Zeile in B:O oben eine dünne Rahmenlinie setzen?
vba Sub RahmenObenBeiIndent1() Dim ws As Worksheet Dim c As Range Set ws = ActiveSheet For Each c In ws.Range("B10:B20") If c.IndentLevel = 1 Then With ws.Range(ws.Cells(c.Row, &q...
Kann man mit einem Excel-Makro abfragen, ob und wie stark ein Zellinhalt eingerückt ist?
Ja. In Excel-VBA kannst du die Einrückung einer Zelle über IndentLevel abfragen. Beispiel: vba Sub EinrueckungPruefen() Dim wert As Long wert = Range("A1").IndentLevel MsgB...
Lässt sich die Excel-Warnung „Pivot enthält schon Daten“ per Makro ausschalten?
Ja. Die Meldung lässt sich im Makro meist mit deaktivierten Excel-Warnungen unterdrücken: vba Application.DisplayAlerts = False ' Pivot-Aktion hier, z. B. Aktualisieren / Ersetzen / L...
Kann man mit einem Excel-Makro den Filter einer Pivot-Tabelle ändern?
Ja. Mit einem Excel-Makro (VBA) kannst du den Filter einer Pivot-Tabelle ändern, zum Beispiel: Berichtsfilter setzen einzelne Pivot-Felder filtern bestimmte Elemente ein-/ausblenden Datums- oder...
Excel-Makro: Einfärbung der Zellen B10:D15 aufheben?
Ja. In VBA z. B. so: vba Range("B10:D15").Interior.Pattern = xlNone Alternativ: vba Range("B10:D15").Interior.ColorIndex = xlColorIndexNone Falls auch andere Formatierungen e...
Excel-Makro: Kann bei einer If-Schleife mit nur einer Anweisung nach Then und Else alles in derselben Zeile stehen?
Ja. In VBA/Excel-Makros darf eine einzeilige If-Anweisung so geschrieben werden: vba If Bedingung Then AnweisungElse Mit Else in derselben Zeile: vba If x > 0 Then y = 1 Else y = 2 Sobald na...
Wie löscht man mit einem Excel-Makro im Bereich B10:H100 alle Zellrahmen?
vba Range("B10:H100").Borders.LineStyle = xlNone
Ist dieser Excel-VBA-Code korrekt, um Spalten auszublenden und einen Bereich wieder einzublenden?
Nein. Korrekt ist bei Columns die Angabe von Spaltenbuchstaben oder Spaltennummern als Bereich, nicht "spaltevon:spaltebis" wörtlich. Beispiel: vba With Sheets("Tab1") .Co...
Excel: Wie ruft man mit einem Makro ein anderes Makro auf und übergibt dabei die Zahl 1 oder 2 sowie die Zelladresse A4?
Ja. In VBA übergibst du Werte als Parameter. vb Sub Starter() Call ZielMakro(1, Range("A4").Address) Call ZielMakro(2, Range("A4").Address) End Sub Sub ZielMakro(ByVal num...