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...
Wie kann man mit einem Excel-Makro prüfen, ob das Menüband (Ribbon) mit Application.CommandBars.ExecuteMso 'HideRibbon' ein- oder ausgeblendet ist?
Antwort vomIn Excel gibt es leider keine direkte VBA-Eigenschaft oder -Methode, um den aktuellen Sichtbarkeitsstatus des Ribbons (Menüband) abzufragen. Das Menüband kann zwar mit `Application.CommandBars.ExecuteMso "HideRibbon"` ein- oder ausgeblendet werden, aber der Status (ein-/ausgeblendet) ist nicht direkt über VBA abfragbar. **Workarounds:** 1. **Versuch, auf die Höhe des Ribbons zuzugreifen:** Man kann versuchen, die Höhe des Fensters vor und nach dem Ausführen des Befehls zu vergleichen. Das ist aber unzuverlässig und funktioniert nicht in allen Excel-Versionen. 2. **Eigene Statusvariable:** Wenn du das Ribbon ausschließlich über dein Makro ein- und ausblendest, kannst du eine eigene Variable (z.B. in einer versteckten Zelle oder als globale Variable) führen, die den Status speichert. Beispiel: ```vba ' Modul-Variable Public RibbonHidden As Boolean Sub ToggleRibbon() Application.CommandBars.ExecuteMso "HideRibbon" RibbonHidden = Not RibbonHidden End Sub ``` 3. **UserForm als Hilfsmittel:** Manche nutzen eine UserForm, um die Größe des Excel-Fensters zu messen, aber das ist sehr umständlich und nicht zuverlässig. **Fazit:** Es gibt **keine offizielle VBA-Möglichkeit**, den Status des Ribbons direkt abzufragen. Die beste Lösung ist, den Status selbst zu verwalten, wenn du das Ribbon per Makro steuerst. **Weitere Infos:** - [Microsoft-Dokumentation zu CommandBars.ExecuteMso](https://learn.microsoft.com/en-us/office/vba/api/office.commandbars.executemso) - [StackOverflow-Diskussion zum Thema](https://stackoverflow.com/questions/24105336/vba-to-check-if-excel-ribbon-is-hidden) **Hinweis:** Wenn das Ribbon manuell vom Benutzer ein- oder ausgeblendet wird (z.B. per Doppelklick), kann dein Makro das nicht erkennen.
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
Excel-Makro: Alle Spalten in Tab1!Alle ausblenden, wobei „Alle“ als =INDIREKT(Tab2!B5):INDIREKT(Tab2!B6) definiert ist?
Ja. Das geht per VBA, indem der definierte Name Alle ausgewertet und die darin enthaltenen Spalten ausgeblendet werden. vba Sub SpaltenAusblendenAlle() Dim rng As Range On Error GoTo Fehler Set...
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...