If-Statement mit Platzhalter & Like-Operator (VBA)

Bei einer Suche - beispielsweise auf Google - kann mit Platzhaltern gearbeitet werden. Das Fragezeichen (?) ersetzt dabei ein einzelnes Zeichen, das Sternchen (*) ist ein Platzhalter/eine Wildcard für eine beliebige Zeichenfolge vor, innerhalb oder nach dem Suchbegriff. Verwendet man in VBA ein If-Statement, können ebenfalls solche Platzhalter zur Anwendung gebracht werden. Nehmen wir an, basierend auf einem User-Input im Format "Qx-JAHR" (bspw. Q2-2019) soll eine bestimmte Prozedur für eben dieses Quartal gesteuert werden. Normalerweise ist ein If-Statement oder besser gesagt ein If-Then-Else-Statement wie folgt aufgebaut:

If MeinBegriff = "Q2-2019" Then
Weiterer Code für diesen Fall

ElseIf Weitere Prüfungen
Weiterer Code

End If

Im obigen Fall wird Bei "MeinBegriff" handelt es sich um eine Variable, die vorhin in der Prozedur initialisiert wird. Sie kann das Resultat eines User-Inputs sein oder sich auf einen bestimmten Zellwert beziehen. Generell gilt jedoch: Da sich die Jahreszahl über die Dauer verändern wird, benötigen wir eine dynamische Variante mit Platzhaltern im Format "Q2-20*". Das Gleichheitszeichen (=) wird Operator genannt. Weitere Möglichkeiten sind "<>", ">" oder "<=" etc. Desweiteren gibt es den "Like"-Operator, den wir in diesem Fall verwenden.

Der Code für ein If-Statement mit "Like-Operator" lautet:

If MeinBegriff Like "Q1-20*" Then
Weiterer Code für diesen Fall

ElseIf MeinBegriff Like "Q2-20*" Then
Weiterer Code für diesen Fall

ElseIf MeinBegriff Like "Q3-20*" Then
Weiterer Code für diesen Fall

ElseIf MeinBegriff Like "Q4-20*" Then
Weiterer Code für diesen Fall

End If

Wenn der Wert der Variable "MeinBegriff" also ähnlich (like) ist, wird der entsprechende Fall ausgeübt.