VBA – Variablen & Schleifen

info

http://bkovertretung.bplaced.net/wordpress/wirtschaftsinformatik-ueberblick/programmieren-in-vba/vba-syntax-beispiele/

Variablen variable

Bei der Programmierung geht es im Wesentlich darum, Daten zu manipulieren (anlegen, speichern, ändern, löschen).  Einige Daten werden dazu in Variablen gespeichert.

Eine Variable ist einfach ein benannter Speicher im Hauptspeicher des Computers. Alle Variablen, die in einem Programm verwendet werden müssen vorher deklariert werden (-> Namen & Datentyp werden festgelegt, der Computer weis ihm dann intern eine konkrete Speicheradresse zu. Vom Datentyp u.a. hängt die Größe des benötigten Speicherplatzes ab.)

In VBA sollte für die Deklaration die Option explicit gewählt werden,  da sonst alle Variablen automatisch angelegt werden und der Programmcode sehr leicht unübersichtlich wird.

VBA-Syntax:  Dim VariablenName

Häufig soll in der Variable nur ein bestimmter Datentypen (zum Bsp.: Zahl, Text, Datum, Währung) gespeichert werden, dann ist es besser, auch den Datentyp festzulegen.

VBA-Syntax:  Dim VariablenName as <Datentyp>

Gängige Datentypen sind u.a.:

  • Integer (ganze Zahl)
  • Long, Single bzw. Double (->Zahlen mit Nachkommastellen)
  • Date (Datum im Format MM/TT/YYYY)
  • String (beliebige Zeichen)

Tipp: Möchte man mit den Variablen rechnen, so müssen diese in einem Zahlenformat (Bsp.: double) gespeichert werden.

Durch  =  wird der Variablen ein Wert zugewiesen.

3d-mannchen-alles-in-ordnung-400-35298258Beispiele

 

Bsp 1.:
Dim zahl as Integer
zahl = 5 
-> Der Variablen zahl wird der Wert 5 zugewiesen.

Bsp 2:
Dim Name as String
Name = Cells(5,2).value 
-> Der Variablen Name wird der Wert zugewiesen, der in der Zelle B5 steht. (B-> 2. Spalte)

Bsp. 3:
Es kann aber auch einer Zelle einen Wert zugewiesen werden:
Dim Zeile as Integer
Dim Spalte as Integer
Zeile = 3
Spalte = 3
Cells(Zeile, Spalte).Value = „XXXXX“ (Texte müssen in “ “ geschrieben werden)
-> Der Wert von Zelle C3 ist jetzt XXXX.

Bsp. 3:
VBA beinhaltet auch schon diverse Funktionen. Mit Date kann einer Variablen auch das heutige Datum zugewiesen werden.

Dim Heute as Date
Heute = date
  ->Der 
Variablen heute wird das heutige Datum als Wert zugewiesen
Cells(2, 1).Value = Heute
-> Der Wert von A2 ist jetzt das Datum von heute.
Heute +1 -> zählt das Datum um einen Tag hoch.
Cells(3, 1).Value = Heute+1
->Der Wert von A3 ist jetzt das Datum von morgen.

Bsp. 4
Mit der Funktion Rnd wird eine Zufallszahl zwischen 0 und 1 erzeugt. Multipliziert man diese mit 1000, so ergibt sich eine Zufallszahl zwischen 0 und 1000.
Die Funktion Round (Zahl, Nachkommastellen) rundet Zahlen.

Dim Zufallszahl as Double
Zufallszahl = Round (Rnd*1000,0)
Cells(3, 2).Value = Zufallszahl
-> Der Wert von B3 ist jetzt eine ganzzahlige Zufallszahl zwischen 0 und 1000.

 Beachte: In der Mathematik (und Informatik) werden Funktionen von innen nach außen ausgewertet (hier: erst wird die Zufallszahl erzeugt und mit 1000 multipliziert und dann erst wird sie gerundet.

SchleifeSchleifen

Anstatt jede Zelle explizit und einzeln anzusprechen, ist es in der Informatik üblich Schleifen zu programmieren. Eine einfache Schleife wird mit
For <variable> = Anfangswert To Endwert 
(Statements)
Next
erzeugt.
3d-mannchen-alles-in-ordnung-400-35298258Bsp.:
Dim zahl as Integer
For zahl = 3 to 12
Cells(zahl, 1).Value = zahl
Next
-> In den Zellen von A3 bis A12 stehen nun die Zahlen 3 bis 12.

Männchen Gefühle EmotionenBedingungen

In jeder Programmiersprache gibt es so etwas wie die Wenn-Funktion. Hier lautet die Syntax wie folgt:

If (Bedingung) Then (dann-Statements) Else …

3d-mannchen-alles-in-ordnung-400-35298258Bsp.: 
Dim zahl1 as Double
Dim zahl2 as Double
zahl1 = 10
zahl2= 20
If zahl1 < zahl2 Then Cells(3, 2).Value = „Zahl1 ist kleiner als Zahl2“ Else Cells(3, 2).Value = „Zahl2 ist kleiner oder gleich Zahl1
-> In B3 steht nun Zahl1 ist kleiner als Zahl2.

nännchenAufgabeAufgaben

 

Bildschirmfoto 2021-04-14 um 20.09.26

  1. Erstelle eine Excel-Tabelle mit der Überschrift
    VBA-Übung-Variablen-Schleifen

    und speichere sie mit AA1-VBA-Dein-Name.xlsm

  2. Erstelle folgende Schaltflächen mit Makros:
    1. Initialisieren
      Hier sollen die Überschriften erstellt werden und von A2 bis D16 der Rahmen der Zellen erstellt werden. Die Überschriften sollen zudem fett und zentriert werden.
      (Info: ->Google oder Marco-Aufzeichnung und übertragen)
    2. Spalte 1: Go!-> Hier sollen nun das Datum von heute und die nächsten 13 Tage stehen. (vgl. Beispiel 3)
    3. Spalte 1: Löschen-> Die Zellen A3 bis A16 sollen gelöscht werden.
    4. Zufallszahl: In den Spalten von B3 bis C16 sollen nun Zufallszahlen stehen (->Zufallszahlen erzeugen und in die Zellen schreiben). In der Spalte D steht dann die Differenz der Zufallszahlen. Ist diese Differenz positiv, wird der Hintergrund in der einen Farbe, ansonsten in einer anderen Farbe formatiert.

 

___________________________________________________________________________

 

 

K. Fröhlig