Erstellen eines VBA-Skripts

**This is an old revision of the document!**

Funktionsdeklaration

Anfang

Function DurchschnittBerechnen(Bereich As Range) As Double
...
End Function

  • Diese Zeile deklariert eine Funktion namens DurchschnittBerechnen, die einen Bereich (Range) als Eingabe nimmt und einen Double-Wert zurückgibt.
  • End Function beendet die Funktion -Range: Objekt, das eine Zelle oder einen Zellbereich in einem Arbeitsblatt darstellt
  • Im Beispiel: Bereich als Range deklariert - Funktion erwartet einen Zellbereich als Eingabe

Variablendeklaration mit Dim und Initialisierung

Variablendeklaration

  • Dim steht für “Dimension” und wird verwendet, um Variablen zu deklarieren. Es teilt VBA mit, dass eine neue Variable erstellt wird, und definiert ihren Datentyp.

Dim Zelle As Range
Dim Summe As Double
Dim Anzahl As Integer

  • Zelle wird als Range deklariert und dient als Schleifenvariable, um durch jede Zelle im Bereich zu iterieren.
  • Summe wird als Double deklariert, um die Summe der numerischen Werte zu speichern.
  • Anzahl wird als Integer deklariert, um die Anzahl der numerischen Zellen zu zählen.

Initialisierung

Summe = 0
Anzahl = 0

  • Summe und Anzahl werden auf 0 initialisiert.

Schleife durch den Bereich durch ''%%For Each%%'' und ''%%Next%%''

For Each Zelle In Bereich
    If IsNumeric(Zelle.Value) Then
        Summe = Summe + Zelle.Value
        Anzahl = Anzahl + 1
    End If
Next Zelle

  • For Each startet Schleife, die durch jedes Element in einer Sammlung (z.B. einem Zellbereich) iteriert.
  • For Each Zelle In Bereich: Diese Zeile startet eine Schleife, die jede Zelle im Bereich durchläuft.
  • Next Zelle: Diese Zeile markiert das Ende der Schleife und weist VBA an, zur nächsten Zelle überzugehen.

Berechnung des Durchschnitts

If Anzahl > 0 Then
    DurchschnittBerechnen = Summe / Anzahl
Else
    DurchschnittBerechnen = 0
End If

  • Wenn die Anzahl der numerischen Zellen größer als 0 ist, wird der Durchschnitt berechnet, indem die Summe durch die Anzahl geteilt wird.
  • Wenn keine numerischen Zellen gefunden wurden, wird der Durchschnitt auf 0 gesetzt.