**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 einenDouble-Wert zurückgibt. End Functionbeendet die Funktion -Range: Objekt, das eine Zelle oder einen Zellbereich in einem Arbeitsblatt darstellt- Im Beispiel:
BereichalsRangedeklariert - Funktion erwartet einen Zellbereich als Eingabe
Variablendeklaration mit Dim und Initialisierung
Variablendeklaration
Dimsteht 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
Zellewird alsRangedeklariert und dient als Schleifenvariable, um durch jede Zelle im Bereich zu iterieren.Summewird alsDoubledeklariert, um die Summe der numerischen Werte zu speichern.Anzahlwird alsIntegerdeklariert, um die Anzahl der numerischen Zellen zu zählen.
Initialisierung
Summe = 0 Anzahl = 0
SummeundAnzahlwerden 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 Eachstartet 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 imBereichdurchlä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
Summedurch dieAnzahlgeteilt wird. - Wenn keine numerischen Zellen gefunden wurden, wird der Durchschnitt auf 0 gesetzt.
Code
Function DurchschnittBerechnen(Bereich As Range) As Double
Dim Zelle As Range
Dim Summe As Double
Dim Anzahl As Integer
Summe = 0
Anzahl = 0
For Each Zelle In Bereich
If IsNumeric(Zelle.Value) Then
Summe = Summe + Zelle.Value
Anzahl = Anzahl + 1
End If
Next Zelle
If Anzahl > 0 Then
DurchschnittBerechnen = Summe / Anzahl
Else
DurchschnittBerechnen = 0
End If
End Function
Datentypen in VBA
| Datentyp | Beschreibung | Speicherbedarf | Wertebereich |
|---|---|---|---|
Integer | Ganzzahl | 2 Bytes | -32.768 bis 32.767 |
Long | Lange Ganzzahl | 4 Bytes | -2.147.483.648 bis 2.147.483.647 |
Single | Gleitkommazahl (einfache Genauigkeit) | 4 Bytes | -3,402823E38 bis -1,401298E-45 für negative Werte; 1,401298E-45 bis 3,402823E38 für positive Werte |
Double | Gleitkommazahl (doppelte Genauigkeit) | 8 Bytes | -1,79769313486232E308 bis -4,94065645841247E-324 für negative Werte; 4,94065645841247E-324 bis 1,79769313486232E308 für positive Werte |
Currency | Währung (festes Dezimalformat) | 8 Bytes | -922.337.203.685.477,5808 bis 922.337.203.685.477,5807 |
String | Zeichenkette (variable Länge) | 1 Byte pro Zeichen | Bis zu etwa 2 Milliarden Zeichen |
Boolean | Boolescher Wert (Wahr/Falsch) | 2 Bytes | True oder False |
Date | Datum und Uhrzeit | 8 Bytes | 1. Januar 100 bis 31. Dezember 9999 |
Object | Objektverweis | 4 Bytes | Jedes Objekt |
Variant | Variabler Datentyp (kann jeden Datentyp enthalten) | Variabel | Abhängig vom enthaltenen Datentyp |
Byte | Ganzzahl (nur positive Werte) | 1 Byte | 0 bis 255 |
Type-Checking-Functions (Typüberprüfungsfunktionen) in VBA
Hier ist eine Tabelle mit den Funktionen in VBA, die verwendet werden, um verschiedene Bedingungen zu überprüfen:
| Funktion | Beschreibung |
|---|---|
IsNumeric | Überprüft, ob ein Ausdruck als Zahl interpretiert werden kann. |
IsDate | Überprüft, ob ein Ausdruck als Datum interpretiert werden kann. |
IsEmpty | Überprüft, ob eine Variable initialisiert wurde. |
IsNull | Überprüft, ob ein Ausdruck keine gültigen Daten enthält. |
IsError | Überprüft, ob ein Ausdruck ein Fehlerwert ist. |
IsArray | Überprüft, ob eine Variable ein Array ist. |
IsObject | Überprüft, ob eine Variable auf ein Objekt verweist. |
TypeName | Gibt einen String zurück, der den Datentyp einer Variablen beschreibt. |
VarType | Gibt eine ganze Zahl zurück, die den Datentyp einer Variablen angibt. |