Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
programmierung:vba [2025/05/11 14:12] sweprogrammierung:vba [2025/12/20 14:53] (current) – external edit 127.0.0.1
Line 1: Line 1:
-## Funktionsdeklaration+## Erstellen eines VBA-Skripts 
 +### Funktionsdeklaration
  
 Anfang Anfang
Line 12: Line 13:
 - Im Beispiel: `Bereich` als `Range` deklariert - Funktion erwartet einen Zellbereich als Eingabe - Im Beispiel: `Bereich` als `Range` deklariert - Funktion erwartet einen Zellbereich als Eingabe
  
-## Variablendeklaration mit Dim und Initialisierung+### Variablendeklaration mit Dim und Initialisierung
  
 **Variablendeklaration** **Variablendeklaration**
Line 34: Line 35:
 - `Summe` und `Anzahl` werden auf 0 initialisiert. - `Summe` und `Anzahl` werden auf 0 initialisiert.
  
-## Schleife durch den Bereich durch `For Eachund `Next`+### Schleife durch den Bereich durch For Each und Next
 ```vba ```vba
 For Each Zelle In Bereich For Each Zelle In Bereich
Line 48: Line 49:
  
  
-## Berechnung des Durchschnitts+### Berechnung des Durchschnitts
 ```vba ```vba
 If Anzahl > 0 Then If Anzahl > 0 Then
Line 59: Line 60:
 - Wenn keine numerischen Zellen gefunden wurden, wird der Durchschnitt auf 0 gesetzt. - Wenn keine numerischen Zellen gefunden wurden, wird der Durchschnitt auf 0 gesetzt.
  
 +
 +### Code
 +```vba
 +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.                          |