VBA Grundlagen. VBA Grundlagen - Steuerelemente. VBA Grundlagen - Variable. VBA Grundlagen Namensbildung, Kommentar



Ähnliche Dokumente
Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

E-PRIME TUTORIUM Die Programmiersprache BASIC

VisualBasic - Variablen

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

P r o g r a m m a b l a u f s t e u e r u n g

Neben dem Symbol Entwurfsmodus ist das Symbol Befehlschaltfläche zu sehen.

Modul 122 VBA Scribt.docx

Excel Funktionen durch eigene Funktionen erweitern.

Zur drittletzten Zeile scrollen

Entwurf von Algorithmen - Kontrollstrukturen

Java-Programmierung mit NetBeans

Monatstreff für Menschen ab 50 Merkblatt 69 EXCEL Peter Aeberhard, Computeria Olten

Sin-Funktion vgl. Cos-Funktion

Michaela Weiss 30. März Lerneinheit 3: VBA Teil 1: Eingabe/Ausgabe

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife

Professionelle Seminare im Bereich MS-Office

Dokumentation. estat Version 2.0

Access und die andern (Office) Programme. Armin Hess

Office Objektmodell (1)

Anleitung zur Erstellung einer Gefährdungsbeurteilung

Die Textvorlagen in Microsoft WORD und LibreOffice Writer

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Tutorium zur Mathematik (WS 2004/2005) - Finanzmathematik Seite 1

Erstellen von x-y-diagrammen in OpenOffice.calc

Zwischenablage (Bilder, Texte,...)

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Bedienungsanleitung Rückabwicklungsrechner

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

VBA mit Excel Grundlagen und Profiwissen

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Mediator 9 - Lernprogramm

Datenbanken Microsoft Access 2010

Text Formatierung in Excel

AutoTexte und AutoKorrektur unter Outlook verwenden

xcall White Paper Wählen-Buttons in Excel

Grundlagen der Theoretischen Informatik, SoSe 2008

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

Auswahlabfragen mit ACCESS

Wofür braucht man eine Tabellenkalkulation? Das Programm Microsoft Excel gehört in Softwarekategorie der Tabellenkalkulationen.

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

Interoperabilität mit Office-Anwendungen (1)

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar CAP-News 40

STRATO Mail Einrichtung Mozilla Thunderbird

Word 2010 Online Formulare mit Vorversionstools

Aktivierung von Makros in den Erfassungshilfen

teamsync Kurzanleitung

Freischaltung eines neuen VR-NetKeys mit SecureGo

Steuern des GSR-Interface mit QBasic

Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Zinsrechner. Bedienungsanleitung

I Serverkalender in Thunderbird einrichten

Übersetzung von Struktogrammen nach VBA

Visual Basic Express erstes Projekt anlegen

Hinweis. PKAntonitsch, 20. April 2002 (für kritische Rückmeldungen:

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Programmierkurs Java

Modellierung und Programmierung 1

Access Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli inkl. zusätzlichem Übungsanhang ACC2010-UA

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

VBA-Programmierung: Zusammenfassung

LineQuest-Leitfaden LineQuest Dialog-Portal. Generieren der LineQuest-Auswertungsdatei

Diana Lange. Generative Gestaltung Operatoren

Einführung in VisualBasic for Applications. Stefan Mahlitz

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Text-Zahlen-Formatieren

Erwin Grüner

Einführung in die C++ Programmierung für Ingenieure

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen

Herzlich willkommen zum Kurs "MS Word 2003 Professional"

Datentypen. Agenda für heute, 4. März, Pascal ist eine streng typisierte Programmiersprache

Einführung in die Programmierung (EPR)

I.1 Die Parrot Assemblersprache

Nutzung von GiS BasePac 8 im Netzwerk

Angewandte Mathematik und Programmierung

STRATO Mail Einrichtung Microsoft Outlook

Anleitung über den Umgang mit Schildern

1 Mathematische Grundlagen

BAUINFORMATIK. SS 2013 Vorlesung 1 Johannes Lange

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

Einführung in die Programmierung

Wie Sie mit Mastern arbeiten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Microsoft Visual Studio Community 2015

Bedienungsanleitung Albumdesigner. Neues Projekt: Bestehendes Projekt öffnen:

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Viele Bilder auf der FA-Homepage

Zeichen bei Zahlen entschlüsseln

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Einführung in die Programmierung

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

IT-Basics 2. DI Gerhard Fließ

Aufklappelemente anlegen

Kapitel 3 Bilder farblich verändern - Arbeiten mit Objekten

PowerPoint: Text. Text

Transkript:

VBA Grundlagen Basic = Programmiersprache (Beginners All Purpose Symbolic Instruction Code). Wurde 1964 als einfache Programmiersprache entwickelt. Bestandteil vom Anfang des MS-DOS (1981) an als BASICA, später als GWBASIC, QBasic. VB = Visual Basic. Weiterentwicklung von Microsoft (1991), um mit Basic auch graphische Fensterprogrammierung realisieren zu können. VBA = Visual Basic for Applications (Visual Basic für Anwendungen). Seit 1995 Makrosprache zur Programmierung bei MS-Office Anwendungen. Link zu Online Tutorial: http://de.wikibooks.org/wiki/vba_in_excel_-_grundlagen Um in Office 2007 VBA benutzen zu können, muß bei den Optionen unter HÄUFIG VERWENDET die Entwicklerregisterkarte für die Multifunktionsleiste aktiviert werden. Der VBA Code ist Bestandteil der Office Datei und wird mit dem Visual Basic Editor geschrieben: Bis Office 2003 Menü: EXTRA / MAKRO / VISUAL BASIC EDITOR Ab Office 2007 Registerkarte ENTWICKLERTOOLS / Gruppe CODE / Button VISUAL BASIC VBA Grundlagen - Steuerelemente Benötigt werden Steuerelemente. Steuerelemente (engl. Controls) dienen der Interaktionen zwischen VBA und dem Benutzer. Um sie in einer Office Anwendung einzufügen, benötigen Sie die Symbolleiste Toolbox: Bis Office 2007 Menü: ANSICHT / SYMBOLLEISTEN / STEUERELEMENTE- TOOLBOX (bei Access: ANSICHT / TOOLBOX). Ab Office 2007 Registerkarte ENTWICKLERTOOLS. Einige ActiveX Steuerelemente: Bezeichnung (engl. Label) zur Ausgabe: Textfeld (engl. Textbox) für Eingaben: Befehlsschaltfläche (eng. Commandbutton) zur Codeausführung: In Excel können zur Ein- und Ausgabe auch Zellen verwendet werden. A ab CommandButton Folie 1 Folie 2 VBA Grundlagen Namensbildung, Kommentar VBA Grundlagen - Variable Die in die Anwendung eingefügten Steuerelemente können in ihren Eigenschaften verändert werden (Kontextmenü Eigenschaft). Im VBA Code wird auf ein Steuerelement über seinen Namen zugegriffen. Deshalb ist es wichtig, dem Steuerelement bei der Eigenschaft Name eine verständliche informative Bezeichnung zu vergeben. Allgemein gelten bei VBA die folgenden Regeln bei der Namensbildung: 1. Es sind nur Buchstaben (ohne Umlaute), Ziffern und als Sonderzeichen der Unterstrich _ erlaubt. 2. Es wird nicht zwischen Groß- und Kleinschrift unterschieden. 3. Ein Name muß mit einem Buchstaben beginnen. 4. Nach dem ersten Buchstaben können weitere Buchstaben, Ziffern oder Unterstrich folgen. Beispiele für korrekte Namen: SiebenZwerge, Oelstand, Messwert_1. Beispiele für fehlerhafte Namen: 7Zwerge, Ölstand, Messwert 1. Kommentare beginnen mit einem Apostroph ' und gelten bis zum Zeilenende. Ein Kommentar wird nicht als auszuführender Programmcode interpretiert. Variable sind Speicherplätze des Programmcodes, die nicht in VBA vor ihrer Benutzung vereinbart (deklariert) werden müssen. Es ist aber aus folgenden Gründen zu empfehlen: Nicht vereinbarte Variablen sind vom Datentyp Variant und belegen bei Zahlen jeweils 22 Byte, bei vereinbarten Variablen für ganze Zahlen vom Datentyp Integer oder reelle Zahlen vom Typ Single jedoch jeweils nur 4 Byte. Durch die Vereinbarung von Variablen am Anfang des Codesegments behält man die Übersicht über alle vergebenen Variablennamen. Die DIM Anweisung zur Variablendeklaration hat die Form DIM Name [,...] AS Datentyp Der Datentyp kann sein (Grundtypen): INTEGER (ganze Zahlen -32768... 32767). LONG (ganze Zahlen -2147483648... 2147483647). SINGLE (reelle Zahlen ca. ±10-45... ±3*10 38 ). DOUBLE (reelle Zahlen ca. ±5*10-324... ±10 308 ). STRING für Texte (max. 2 Milliarden Zeichen). VARIANT für beliebige Datentypen. Folie 3 Folie 4

VBA Grundlagen - Konstanten Konstanten sind unveränderliche Werte im Programm: Sie können als Werte geschrieben werden, Beispiele: Ganze Zahlen 123 oder -987 Reelle Zahlen (Dezimalpunkt statt Dezimalkomma!) 1.23 oder -9.87 Zeichen und Zeichenketten "X" oder "Guten Tag!" (Leere Zeichenkette: "") Sie können als benannte (mit Namen versehen) Konstanten deklariert werden: Die CONST Anweisung hat die Form CONST Name AS Datentyp = Wert INTEGER, LONG Beispiel: CONST Maximum AS INTEGER = 10 SINGLE, DOUBLE Beispiel: CONST Preis AS SINGLE = 4.99 STRING Beispiel: CONST Gruss AS STRING = "Guten Tag!" VARIANT Beispiel: CONST Text AS VARIANT = "Hallo" VBA Grundlagen - FOR/NEXT Zählschleife Die FOR / NEXT Schleifenanweisung: Werden Anweisungen wiederholt bei bekannter Anzahl der Wiederholungen ausgeführt, handelt es sich um eine Zählschleife. Die FOR Anweisung beginnt mit der Zuweisung des Startwertes an die Zählvariable. Alle Anweisungen in der Schleife bis NEXT werden nun solange wiederholt, bis der hinter TO angegebene Endwert erreicht ist. Bei NEXT (Variablenname kann entfallen) wird automatisch der Wert der Zählvariablen um 1 erhöht, falls keine andere Änderung durch STEP angegeben wurde. FOR Variable = Startwert TO Endwert [STEP Schrittwert] Anweisung... NEXT [Variable] Folie 5 Folie 6 VBA Grundlagen Das Problem VBA Grundlagen Das Struktogramm Das Problem: Wieviel Kapital häuft sich bei einmaliger Einzahlung auf einem Sparbuch nach einem bestimmten Zeitraum in Jahren an. Die jährlich anfallenden Zinsen werden auf dem Sparbuch gut geschrieben und in den Folgejahren mit verzinst. Die Lösung: Nach jedem Jahr werden die Zinsen berechnet...... und auf dem Sparbuch gut geschrieben. K = Kapital auf dem Sparbuch nach Ablauf des Zinsjahres. K 0 = Anfangskapital des Zinsjahres. Z = Zinssatz p.a. in %. Die Berechnung: Bei einem Startkapital von 100 und einem Zinssatz von 10%. Jahr K 0 Berechnung von K K 1 100,00 K = 100,00 * (1+10/100) 110,00 2 110,00 K = 110,00 * (1+10/100) 121,00 3 121,00 K = 121,00 * (1+10/100) 133,10 4 133,10 K = 133,10 * (1+10/100) 146,41 5 146,41 K = 146,41 * (1+10/100) 161,05 Der Programmablauf als Struktogramm: Wiederhole mit i von 1 bis Jahre Ausgabe Kapital: K auf 2 Nachkommastellen formatiert mit Zeichen. Folie 7 Folie 8

VBA Grundlagen Die Lösung VBA Grundlagen - Verzweigung mit und ohne Alternative Der VBA Code für den Button: Private Sub BerechneButton_Click() ' Variablendeklaration: Dim i As Integer Startkapital 100 Zinssatz [%] 10 Jahre 5 BerechneButton Die Anweisung zur Verzweigung ohne Alternative: Mit einer Programmverzweigung ohne Alternative wird gesteuert, ob überhaupt ein Anweisungsteil ausgeführt werden soll. Ist der Vergleich wahr, werden die Anweisung(en) bis zum END IF ausgeführt. Ist er falsch, werden sie übergangen. IF Vergleich THEN Anweisung(en) END IF Ein Vergleich hat folgende Syntax: Ausdruck Vergleichszeichen Ausdruck For i = 1 To Jahre ' Kapital Jahr für Jahr Kapital = Format(K, "#0.00 ") Kapital 161,05 Ein Ausdruck ist: Konstante Variable Berechnung Die Vergleichszeichen sind: = (gleich), <> (ungleich), < (kleiner), > (größer), <= (kleiner und gleich) und >= (größer und gleich). Mehrere Einzelvergleiche können zu einem Vergleich zusammengesetzt werden. Dazu dienen in VBA die Verknüpfungen AND ('und'), OR ('oder') und NOT ('nicht'). Folie 9 Folie 10 VBA Grundlagen - Verzweigung mit und ohne Alternative VBA Grundlagen Verzweigung ohne Alternative Programmablauf von Verzweigungen: Der Ablauf (oben Fluß- und unten Struktogramm) von Verzweigungen links ohne Alternative und rechts mit Alternative. Das Problem: Die Zinseszins Berechnung führt zu Fehlermeldungen und Stop der Ausführung des VBA Codes, wenn keine Eingaben oder keine Zahlen für Startkapital, Zinssatz und/oder Jahre vorliegen. Die Lösung: Die komplette Berechnung des Kapitals wird nur ausgeführt, wenn alle Eingaben als numerische Werte vorliegen (keine Eingabe ist nicht numerisch!). Folie 11 Der VBA Code für den Button: Private Sub BerechneButton_Click() ' Variablendeklaration: Dim i As Integer And IsNumeric(Jahre) Then ' Eingaben vorhanden For i = 1 To Jahre ' Kapital Jahr für Jahr Kapital = Format(K, "#0.00 ") Startkapital Zinssatz [%] Jahre Kapital 100 Anmerkung: eine Code- Anweisungszeile kann mit Leerzeichen gefolgt von Unterstrich ( _) in einer neuen Zeile fortgesetzt werden! 3 BerechneButton Folie 12

VBA Grundlagen - Verzweigung mit Alternative Die Anweisung zur Verzweigung mit Alternative: Mit einer Programmverzweigung mit Alternative wird gesteuert, ob ein Anweisungsteil ausgeführt werden soll oder ein anderer. Ist der Vergleich wahr, werden die Anweisung(en)1 hinter THEN ausgeführt. Ist er falsch, werden andernfalls (engl. else) andere Anweisung(en)2 hinter ELSE ausgeführt. IF Vergleich THEN Anweisung(en)1 ELSE Anweisung(en)2 END IF Das Problem: Wenn keine Eingaben oder keine Zahlen für Startkapital, Zinssatz und/oder Jahre vorliegen, wird nichts berechnet - jedoch der Benutzer im Ungewissen gelassen, woran es liegen könnte. Die Lösung: Die komplette Berechnung des Kapitals wird weiterhin nur ausgeführt, wenn alle Eingaben als numerische Werte vorliegen (keine Eingabe ist ebenfalls nicht numerisch!). Andernfalls wird die MsgBox Funktion aufgerufen, um den Benutzer auf die fehlerhaften Eingaben aufmerksam zu machen und ein eventuell vorausgegangener Anzeigewert des Steuerelementes Kapital wird gelöscht. VBA Grundlagen Lösung Verzweigung mit Alternative Der Programmablauf als Struktogramm: J Wiederhole mit i von 1 bis Jahre Liegen alle Eingaben als numerische Werte vor? Ausgabe Kapital: K auf 2 Nachkommastellen formatiert mit Zeichen. N Ausgabe einer Fehlermeldung. Folie 13 Folie 14 VBA Grundlagen Lösung (Verzweigung mit Alternative) VBA Grundlagen - Objekte (Eigenschaften, Zugriff) Der VBA Code für den Button: Private Sub BerechneButton_Click() ' Variablendeklaration: And IsNumeric(Jahre) Then ' Eingaben vorhanden For i = 1 To Jahre ' Kapital Jahr für Jahr Kapital = Format(K, "#0.00 ") ' Eingabefehler Kapital = "" Startkapital Zinssatz [%] Jahre Kapital 100 3 BerechneButton Folie 15 Zugriff auf Objekteigenschaften: Die Steuerelemente von VBA sind Objekte. Die Officeanwendungen bestehen ebenfalls aus Objekten (wie zum Beispiel in Excel die Zellen). Jedes Objekt besitzt Eigenschaften (engl. Properties) und Methoden, die über den Objektzugriff mit dem Punktoperator erreichbar sind: Objektname.Eigenschaft Private Sub FarbButton1_Click() FarbButton1.ForeColor = RGB(255, 255, 0) FarbButton1.BackColor = RGB(255, 0, 0) FarbButton2.ForeColor = RGB(255, 255, 0) FarbButton2.BackColor = RGB(255, 0, 0) Gelb auf Rot Anmerkung: Warum keine RGB Farben beim Zurücksetzen? Weil Standardfarben systemweit in den Windowseinstellungen gesetzt werden können - es muß also nicht immer Schwarz auf Grau sein. Normalfarbe Private Sub FarbButton2_Click() FarbButton1.ForeColor = vbbuttontext FarbButton1.BackColor = vbbuttonface FarbButton2.ForeColor = vbbuttontext FarbButton2.BackColor = vbbuttonface Folie 16

VBA Grundlagen - Zugriffe auf Excel Zellen In Excel lassen sich ebenfalls Steuerelemente zur Ein- und Ausgabe verwenden. Nahe liegt allerdings dazu die Verwendung von Excel-Zellen selbst. Referenzen auf einzelne Excel Zellen in VBA (Beispiel immer für Zelle B3): In sogenannter A1 Schreibweise mit Range als String: Range("B3"). Mit Indizes als ganze Zahlen für Zeile und Spalte mit Cells: Cells(3, 2). In abgekürzter Schreibweise mit eckigen Klammern: [B3]. Auf benannte Zelle als String mit Range verweisen: Range("Name_von_B3"). Auf Zellen mit relativem Bezug zur aktiven Zelle mit ActiveCell.Offset verweisen, Angabe Zeilen- und Spaltendifferenz in ganzen Zahlen. Wenn aktive Zelle A1: ActiveCell.Offset(1, 2). Befindet sich der VBA Code auf dem gleichen Arbeitsblatt, genügen obige Methoden, ein Objektname ist nicht nötig (Ausnahme ActiveCell). Befinden sich die Zellen auf einem anderem Arbeitsblatt, so muß als Objektname der Blattname angegeben werden und mit dem Punktoperator die Methode aufgerufen werden: Sheets("Blattname").Range("B3") Worksheets("Blattname").Cells(3, 2) Worksheets("Blattname").[B3] Range("Blattname!Name_von_B3") VBA Grundlagen - Lösung mit Excel Zellen I Der VBA Code für den Button A1 Schreibweise : Private Sub BerechneButton1_Click() ' A1 Schreibweise bei Excel If IsNumeric(Range("A3")) And IsNumeric(Range("B3")) _ And IsNumeric(Range("C3")) Then K0 = Range("A3") For i = 1 To Range("C3") * (1 + Range("B3") / 100) Range("B8") = Format(K, "#0.00 ") Range("B8") = "" Folie 17 Folie 18 VBA Grundlagen - Lösung mit Excel Zellen II VBA Grundlagen - Lösung mit Excel Zellen III Der VBA Code für den Button Mit Indizes : Private Sub BerechneButton2_Click() ' Index Schreibweise bei Excel Der VBA Code für den Button Kurzschreibweise : Private Sub BerechneButton3_Click() ' Abgekürzte Schreibweise bei Excel If IsNumeric(Cells(3, 1)) And IsNumeric(Cells(3, 2)) _ And IsNumeric(Cells(3, 3)) Then K0 = Cells(3, 1) If IsNumeric([A3]) And IsNumeric([B3]) _ And IsNumeric([C39]) Then K0 = Range("Startkapital") For i = 1 To Cells(3, 3) * (1 + Cells(3, 2) / 100) For i = 1 To [C3] * (1 + [B3] / 100) Cells(8, 2) = Format(K, "#0.00 ") Cells(8, 2) = "" [B8] = Format(K, "#0.00 ") [B8] = "" Folie 19 Folie 20

VBA Grundlagen - Lösung mit Excel Zellen IV Der VBA Code für den Button Benannte Zellen : Private Sub BerechneButton4_Click() ' Benannte Zellen in Excel If IsNumeric(Range("Startkapital")) And IsNumeric(Range("Zinssatz")) _ And IsNumeric(Range("Jahre")) Then K0 = Range("Startkapital") For i = 1 To Range("Jahre") * (1 + Range("Zinssatz") / 100) Range("Kapital") = Format(K, "#0.00 ") Range("Kapital") = "" VBA Grundlagen - Zugriffe auf Excel Zellen mit FOR/NEXT Der Zugriff auf Excel Zellen per Indizes eignet sich besonders für Zählschleifen mit der FOR/NEXT Anweisung. Private Sub GoButton_Click() Dim Spalte, Zeile As Integer For Spalte = 3 To 4 For Zeile = 15 To 20 Cells(Zeile, Spalte) = 0 Next Zeile Next Spalte Vorher: Nachher: Folie 21 Folie 22 VBA Grundlagen - Zugriffe auf Eigenschaften von Excel Zellen VBA Grundlagen abweisende und nicht abweisende Schleife Auch auf die Eigenschaften der Excel Zellen läßt sich über den Objektzugriff per Punktoperator zugreifen. Da Objekte wieder Objekte enthalten können (anschaulich: die Milchstraße sei ein Objekt. Sie enthält weitere Objekte - die Planetensysteme. Ein Planetensystem enthält weitere Objekte - Sonne und Planeten....) erfolgt hier der Zugriff durch mehrmalige Anwendung des Punktoperators. Bei der abweisenden Schleife steht die Anzahl der Schleifendurchläufe nicht fest. Die Schleifenanweisungen werden wiederholt, solange die Bedingung wahr ergibt. Die Bedingungsprüfung erfolgt zu Schleifenbeginn deshalb kann es sein, daß die Schleife kein einziges Mal durchlaufen wird. Bei der nicht abweisenden Schleife steht die Anzahl der Schleifendurchläufe nicht fest. Die Schleifenanweisungen werden wiederholt, bis die Bedingung wahr ergibt. Die Bedingungsprüfung erfolgt zu Schleifenende deshalb wird die Schleife auf jeden Fall mindesten einmal durchlaufen. Private Sub FarbButton1_Click() Range("A8:B8").Font.Color = RGB(255, 255, 0) Range("B8").Interior.Color = RGB(255, 0, 0) Private Sub FarbButton2_Click() Range("A8").Font.Color = vbwhite Range("B8").Font.Color = vbblack Range("B8").Interior.Color = vbwhite DO WHILE Bedingung Anweisung(en) LOOP DO Anweisung(en) LOOP UNTIL Bedingung Folie 23 Folie 24

VBA Grundlagen Code abweisende Schleife Private Sub GoButton_Click() Dim K, K0, KE As Single Jahre = "" And IsNumeric(Endkapital) Then KE = Endkapital i = 0 Do While KE > K0 i = i + 1 Loop Jahre = i Startkapital: Zinssatz p.a.: Endkapital: 10,75 Go Endkapital erreicht nach 8 2,1 12,50 Jahren VBA Grundlagen Code nicht abweisende Schleife Private Sub GoButton_Click() Dim K, K0, KE As Single Jahre = "" And IsNumeric(Endkapital) Then : KE = Endkapital: i = 0 If KE > K0 Then Do i = i + 1 Loop Until KE <= K0 Jahre = i Startkapital: Zinssatz p.a.: Endkapital: Endkapital erreicht nach 8 10,75 2,1 12,50 Go Jahren Anmerkung: Mehrere Anweisungen können in eine Zeile geschrieben werden, wenn sie durch einen Doppelpunkt voneinander getrennt werden. Folie 25 Folie 26