Zum Hauptinhalt springen

Beispiele und Verwendung der If-Funktion in VBA Excel

Die If-Funktion ist eine der leistungsfähigsten und vielseitigsten Funktionen in der Programmiersprache VBA (Visual Basic for Applications), die in Excel zum Erstellen von Makros und zur Automatisierung von Datenvorgängen verwendet wird. Es ermöglicht Ihnen, bedingte Operationen durchzuführen und Entscheidungen basierend auf den Werten von Variablen und den Ergebnissen von Ausdrücken zu treffen.

Die Syntax der If-Funktion lautet wie folgt:

Wenn Bedingung Dann

codeblock

Sonst

codeblock

Ende Wenn

Im Codeblock nach dem Schlüsselwort "Dann" werden die angegebenen Operationen ausgeführt, wenn die Bedingung wahr ist. Im Codeblock nach "Sonst" wird ein alternativer Satz von Operationen ausgeführt, wenn die Bedingung falsch ist. "If" kann verwendet werden, um verschiedene Szenarien zu implementieren, einschließlich der Steuerung des Programmflusses, der Filterung von Daten oder der Berechnung von Werten basierend auf Bedingungen.

In diesem Artikel werden wir einige Beispiele für die Verwendung der If-Funktion in Excel in VBA betrachten und deren Syntax und Funktionslogik erklären.

Beispiele für die Verwendung der If-Funktion in Excel VBA

Mit der Funktion "Wenn" in der Excel-Programmiersprache VBA können Sie bestimmte Aktionen ausführen, abhängig davon, ob eine Bedingung erfüllt ist oder nicht. Es hat die folgende Syntax:

FunktionDie Beschreibung
Wenn(Bedingung, Aktion_wenn es wahr ist, Aktion_wenn es wahr ist)Führt die angegebene Aktion aus, wenn die Bedingung wahr ist, und führt eine andere Aktion aus, wenn die Bedingung falsch ist.

Im Folgenden sind einige Beispiele für die Verwendung der If-Funktion in Excel VBA aufgeführt:

    Beispiel 1: Überprüfen auf die Parität einer Zahl

Sub CheckEvenNumber()Dim number As Integernumber = 10If number Mod 2 = 0 ThenMsgBox "Число является четным."ElseMsgBox "Число не является четным."End IfEnd Sub
Sub CalculateBonus()Dim sales As DoubleDim bonus As Doublesales = InputBox("Введите сумму продаж:")If sales >= 10000 Thenbonus = sales * 0.1Elsebonus = sales * 0.05End IfMsgBox "Ваш бонус составляет: " & bonus & " руб."End Sub
Sub CheckAchievementStatus()Dim achievement As IntegerDim status As Stringachievement = InputBox("Введите количество достижений:")If achievement >= 100 Thenstatus = "Статус: Мастер"ElseIf achievement >= 50 Thenstatus = "Статус: Профессионал"ElseIf achievement >= 10 Thenstatus = "Статус: Начинающий"Elsestatus = "Статус: Новичок"End IfMsgBox statusEnd Sub

Mit der If-Funktion in Excel VBA können Sie die Ausführung eines Programms abhängig von verschiedenen Bedingungen steuern. Es ist ein nützliches Werkzeug, um flexible und leistungsfähige Makros zu erstellen und Aktionen in Excel zu automatisieren.

Beispiel 1: Ein einfaches Beispiel für die Verwendung der If-Funktion

Stellen wir uns vor, wir haben eine Liste von Studenten mit ihren Noten und wir möchten Studenten markieren, die eine Punktzahl unter einem bestimmten Schwellenwert haben.

Dazu können wir die Funktion "Wenn" verwenden. So können Sie dies tun:

  1. Öffnen Sie den VBA-Editor, indem Sie Alt+ F11 drücken.
  2. Wählen Sie das Arbeitsblatt aus, auf dem sich Ihre Studentenliste befindet.
  3. Schreiben Sie den folgenden Code:
Sub ПометитьСтудентов()Dim ячейка As RangeFor Each ячейка In Selection 'перебираем все ячейки в выделенном диапазонеIf ячейка.Value < 4 Then 'если значение ячейки меньше 4ячейка.Font.Bold = True 'делаем шрифт жирнымEnd IfNext ячейкаEnd Sub

4. Drücken Sie F5 oder wählen Sie Ausführen -> Unterprogramm ausführen, um den Code auszuführen.

Unter der Bedingung "Wenn" überprüfen wir jede Zelle im ausgewählten Bereich. Wenn der Zellenwert kleiner als 4 ist, machen wir die Schriftart fett, um solche Studenten zu markieren.

Das einfachste Beispiel für die Verwendung der If-Funktion in Excel VBA ermöglicht daher die Überprüfung von Bedingungen und die Durchführung entsprechender Aktionen basierend auf den Validierungsergebnissen.

Beispiel 2: Verwenden der If-Funktion mit mehreren Bedingungen

In Excel VBA können Sie die If-Funktion verwenden, um bedingte Ausdrücke mit mehreren Bedingungen zu erstellen. Mit diesem Ausdruck können Sie eine Aktion ausführen, wenn alle Bedingungen wahr sind, und eine andere Aktion, wenn mindestens eine der Bedingungen falsch ist.

Nehmen wir an, wir haben eine Tabelle mit Daten über Studenten und ihren Noten zu verschiedenen Fächern. Unsere Aufgabe besteht darin, die endgültige Bewertung für jeden Schüler anhand von drei Kriterien zu berechnen:

  1. Die Punktzahl in Mathematik sollte mindestens 4 betragen;
  2. Die Bewertung für Englisch muss mindestens 3 sein;
  3. Die Punktzahl in Physik sollte mindestens 3 betragen.

Dazu können wir die If-Funktion mit mehreren Bedingungen verwenden:

Sub CalculateFinalGrade()Dim i As IntegerDim mathGrade As IntegerDim englishGrade As IntegerDim physicsGrade As IntegerFor i = 2 To 10 ' Предполагаем, что данные находятся в диапазоне A2:C10mathGrade = Range("A" & i).ValueenglishGrade = Range("B" & i).ValuephysicsGrade = Range("C" & i).ValueIf mathGrade >= 4 And englishGrade >= 3 And physicsGrade >= 3 ThenRange("D" & i).Value = "Отлично"ElseRange("D" & i).Value = "Неудовлетворительно"End IfNext iEnd Sub

In diesem Beispiel haben wir eine "CalculateFinalGrade" -Routine erstellt, die die Gesamtnote für jeden Schüler berechnet und in Spalte D schreibt. Wir verwenden eine "For" -Schleife, um jeden Schüler in der Tabelle zu durchlaufen. Dann lesen wir die Bewertungen für jedes Thema aus und prüfen, ob sie die Anforderungen erfüllen. Wenn alle Bedingungen wahr sind, schreiben wir den Wert "Ausgezeichnet" in Spalte D auf, andernfalls schreiben wir "Unbefriedigend".

Mit der If-Funktion mit mehreren Bedingungen können wir leicht komplexere bedingte Ausdrücke erstellen, die uns helfen, verschiedene Aufgaben mit VBA Excel zu automatisieren.

Beispiel 3: Verwenden der If-Funktion zum Arbeiten mit Text

Sub ПроверкаТекста()Dim значение As Stringзначение = Range("A1").ValueIf значение = "Делегат" ThenMsgBox "Строка содержит слово 'Делегат'"ElseMsgBox "Строка не содержит слово 'Делегат'"End IfEnd Sub

In diesem Beispiel schreiben wir zuerst den Wert der Zelle A1 in die Variable "Wert". Dann verwenden wir den bedingten If-Operator, um zu überprüfen, ob diese Variable gleich der Zeichenfolge "Delegat" ist. Wenn der Wert übereinstimmt, geben wir die Meldung "Die Zeichenfolge enthält das Wort 'Delegat'" aus. Andernfalls geben wir die Meldung "Die Zeichenfolge enthält kein Wort 'Delegat'" aus.

Es ist wichtig zu beachten, dass wir in der Zeile des bedingten If-Operators den Vergleichsoperator "=" verwenden, der prüft, ob die Werte der beiden Operanden gleich sind. Wenn wir überprüfen möchten, ob die Variable nicht gleich der Zeichenfolge "Delegat" ist, können wir den Operator "<>" verwenden. Zum Beispiel:

If значение <> "Делегат" ThenMsgBox "Строка не содержит слово 'Делегат'"End If

Dies war ein Beispiel für die Verwendung der If-Funktion zum Arbeiten mit Text. Es kann auch verwendet werden, um andere Bedingungen wie die Länge einer Zeichenfolge, das Vorhandensein bestimmter Zeichen usw. zu überprüfen. In den folgenden Artikeln werden weitere Beispiele für die Verwendung dieser Funktion erläutert.