Muss in einem Excel-Makro bei einem If-Block ein End If stehen, wenn vorher Exit Sub ausgeführt wird?

Antwort vom

Ja, auch wenn innerhalb einer If-Anweisung in einem Excel-Makro (VBA) ein `Exit Sub` steht, muss das zugehörige `End If` trotzdem geschrieben werden. Die Syntax von VBA verlangt, dass jede mit `If ... Then` begonnene Blockstruktur mit einem `End If` abgeschlossen wird, sofern es sich nicht um eine einzeilige If-Anweisung handelt. Beispiel: ```vba If x = 1 Then Exit Sub End If ``` Ohne das `End If` erhältst du einen Syntaxfehler. **Ausnahme:** Nur bei einzeiligen If-Anweisungen ohne Blockstruktur ist kein `End If` nötig: ```vba If x = 1 Then Exit Sub ``` Sobald du aber einen Block öffnest (also nach `Then` einen Zeilenumbruch machst), ist `End If` Pflicht.

Kategorie: Technologie Tags: Excel Makro VBA

Verwandte Fragen

Excel-Makro: Spalten E:G per Button ein- und ausblenden?

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: 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