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...
Warum funktioniert das Excel-Makro mit Dim zeilen as String, Choose und Rows(zeilen).Hidden = True nicht?
Antwort vomDer Fehler liegt daran, dass du die Variable `zeilen` als `String` deklarierst, aber die Funktion `Rows(zeilen).Hidden = True` einen Bereich erwartet, der als Zeilenreferenz interpretiert werden kann. Das ist grundsätzlich korrekt, aber es gibt ein Problem mit der Initialisierung von `i` und der Verwendung von `Choose`. Hier ein Beispiel, wie es korrekt funktioniert: ```vba Sub ZeilenAusblenden() Dim zeilen As String Dim i As Integer i = 2 zeilen = Choose(i, "8:11", "9:11") Rows(zeilen).Hidden = True End Sub ``` **Mögliche Fehlerquellen:** 1. **Variable i nicht deklariert:** Du solltest `i` als `Integer` deklarieren. 2. **Makro nicht in einer Sub:** Der Code muss in einer Sub-Prozedur stehen. 3. **Falscher Wert für i:** `Choose(i, ...)` gibt bei `i=2` den zweiten Wert zurück, also `"9:11"`. 4. **Bereich existiert nicht:** Stelle sicher, dass die Zeilen 9 bis 11 in deinem Arbeitsblatt existieren. **So sollte es aussehen:** ```vba Sub ZeilenAusblenden() Dim zeilen As String Dim i As Integer i = 2 zeilen = Choose(i, "8:11", "9:11") Rows(zeilen).Hidden = True End Sub ``` **Hinweis:** Wenn du das Makro in einem Modul speicherst und ausführst, sollte es funktionieren, sofern die Zeilen im Arbeitsblatt vorhanden sind. **Weitere Infos zu VBA:** [Microsoft VBA-Dokumentation](https://learn.microsoft.com/de-de/office/vba/api/overview/excel) Falls weiterhin ein Fehler auftritt, gib bitte die genaue Fehlermeldung an.
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...
Syntax von IsNumeric in Excel-VBA?
IsNumeric(Ausdruck) Beispiel: vba If IsNumeric(Range("A1").Value) Then MsgBox "Zahl" Else MsgBox "Keine Zahl" End If Rückgabewert: True = numerisch False = nich...
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...
Gibt es die Excel-Funktion ZÄHLENWENN auch in Excel-VBA?
Ja. In Excel-VBA gibt es dafür WorksheetFunction.CountIf oder direkt Application.CountIf. Beispiel: vba Dim erg As Long erg = Application.WorksheetFunction.CountIf(Range("A1:A10"), &...
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