Excel-VBA: Überspringen einer Anweisung

Guten morgen zusammen, ich habe folgendes Problem:

Ich möchte eine Ja/Nein-Abfrage machen, ob bestimmte zu formatierende Spalten in einer Tabelle vorhanden sind oder nicht. Wenn „ja“ soll die darunter liegende Anweisung ausgeführt werden, wenn „nein“, dann soll das Makro zum nächsten Sub springen: Folgendes hab ich bereits geschrieben:
Sub xxx()



'Abfrage: Müssen p-Value Spalten umbenannt werden?

iBox = MsgBox _
(„Muss die Spalte raw p Value umbenannt und dahinter eine weitere Spalte p-value(adjusted…) eingefügt werden“, _
vbQuestion + vbYesNo, „p-Values?“)

**If iBox = vbNo Then Exit Sub Else

'Umbennenung der Spalte Raw p value und Einfügen einer weiteren Spalte rechts daneben

Spa = Application.Match(„Raw p value“, Rows(1), 0)
Columns(Spa).Select
Selection(1).Select
Selection = „p value (unadjusted)“
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 1)).Select
Selection.EntireColumn.Insert

'Benennung der neuen Spalte

Spa = Application.Match(„p value (unadjusted)“, Rows(1), 0)
Columns(Spa).Select
Selection(1).Select
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 1)).Select
Selection = „p value (adjusted by Benjamini Hochberg)“

'Automatisch zum nächsten Makro

Call B_Spaltenbreite

End Sub

Meines Kenntnisstandes müsste statt des Exit Sub Befehls mit dem des Makro richtig läuft ein „Call NextMakro“ Befehl genutzt werden. Wenn ich den Allerdings einsätze formatiert das Programm die Spalten wie angegeben, nur halt nicht das Suchergebnis, sondern die gerade markierte Spalte.**

Meines Kenntnisstandes müsste statt des Exit Sub Befehls mit
dem des Makro richtig läuft ein „Call NextMakro“ Befehl
genutzt werden. Wenn ich den Allerdings einsätze formatiert
das Programm die Spalten wie angegeben, nur halt nicht das
Suchergebnis, sondern die gerade markierte Spalte.

  1. Formatiere bitte Deinen Code besser… (pre- tag)
  2. Du kannst eine If Anweisung auch mehrzeilig anweisen…

Wenn Du das exit sub durch die call anweisung ersetzt wird nach beendigung des Makros das aktuelle Makro wiederaufgenommen…

Du musst also
if blabla then
call sub
exit sub
else (bei bedarf)

end if

machen…

Danke dir. Habs zwar noch in bisschen geändert, aber funktioniert jetzt

If iBox = vbNo Then Call B_Spaltenbreite

'Umbennenung der Spalte Raw p value und Einfügen einer weiteren Spalte rechts daneben

If iBox = vbYes Then

blablabla

End If

'Benennung der neuen Spalte

If iBox = vbYes Then

blablablubb

End If
'Automatisch zum nächsten Makro

Call B_Spaltenbreite