![Page 1: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/1.jpg)
Programmieren in Anwendungen
Annette Bieniusa
Technische Universitat Kaiserslautern
24.04.2014
1 / 36
![Page 2: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/2.jpg)
Uberblick
Organisatorisches
Einfuhrung in VBAWas ist VBA?EntwicklungsumgebungArbeiten mit Makros
2 / 36
![Page 3: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/3.jpg)
Administratives
I Homepage mit Informationen und Materialhttp://softech.informatik.uni-kl.de/Homepage/PIA SS14
I Vorlesung: donnerstags, 17:15 - 19:00, in Raum 52-207
I Saalubung: freitags, Fr 13:45h - 15:15h, in Raum 48-379
I Wenn moglich, Raumwechsel in Terminalraum 32-411
I Flexibler Wechsel zwischen Vorlesung und Ubung wegen dervielen Feiertage im Sommersemester
I Bitte im KIS anmelden, um aktuelle Informationen per Emailzu erhalten!
3 / 36
![Page 4: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/4.jpg)
Fragen uber Fragen
I Vorwissen: Welche Veranstaltungen haben Sie bisher besucht?I Informatik-VorlesungenI ProgrammierkurseI Einfuhrung in Statistik oder Wahrscheinlichkeitsrechnung
I Konnen Sie selbstandig arbeiten?
I Abschluss: Klausur oder Projektausarbeitung?
I Was erwarten Sie von dieser Veranstaltung?
4 / 36
![Page 5: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/5.jpg)
Fragen uber Fragen
I Vorwissen: Welche Veranstaltungen haben Sie bisher besucht?I Informatik-VorlesungenI ProgrammierkurseI Einfuhrung in Statistik oder Wahrscheinlichkeitsrechnung
I Konnen Sie selbstandig arbeiten?
I Abschluss: Klausur oder Projektausarbeitung?
I Was erwarten Sie von dieser Veranstaltung?
5 / 36
![Page 6: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/6.jpg)
Fragen uber Fragen
I Vorwissen: Welche Veranstaltungen haben Sie bisher besucht?I Informatik-VorlesungenI ProgrammierkurseI Einfuhrung in Statistik oder Wahrscheinlichkeitsrechnung
I Konnen Sie selbstandig arbeiten?
I Abschluss: Klausur oder Projektausarbeitung?
I Was erwarten Sie von dieser Veranstaltung?
6 / 36
![Page 7: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/7.jpg)
Fragen uber Fragen
I Vorwissen: Welche Veranstaltungen haben Sie bisher besucht?I Informatik-VorlesungenI ProgrammierkurseI Einfuhrung in Statistik oder Wahrscheinlichkeitsrechnung
I Konnen Sie selbstandig arbeiten?
I Abschluss: Klausur oder Projektausarbeitung?
I Was erwarten Sie von dieser Veranstaltung?
7 / 36
![Page 8: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/8.jpg)
Themen
Visual Basic for Applications(VBA)
I Wiederholung grundlegender Konzepte der imperativenProgrammierung anhand der Programmiersprache VB (VisualBasic)
I Einfuhrung in die ereignisorientierte Programmierung
I Anwendungsbeispiele mit VBA in Word und Excel
Statistik und Grafiken mit R
I Einfuhrung in die Statistiksoftware R
I Wiederholung grundlegender Konzepte der Statistik undDatenanalyse
I Datenvisualisierung und Datenanalyse in R an ausgewahltenFallstudien
8 / 36
![Page 9: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/9.jpg)
Visual Basic for Applications (VBA)
I Skriptsprache zur Automatisierung und Anpassung vonMicrosoft Office Programmen
I Basiert auf der Syntax von Visual Basic (nicht mehrkompatibel seit VB.NET)
I Proprietarer Microsoft-Standard
I Modul-orientiert und prozedural
LiteraturhinweisVBA-Programmierung - Integrierte Losungen mit Office 2010, 1.Auflage, Okt 2010 (erhaltlich im Rechenzentrum bzw.HERDT-Verlag)
9 / 36
![Page 10: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/10.jpg)
Typische Einsatzgebiete
I Automatisiertes Erzeugen von Dokumenten wie Serienbriefen
I Benutzerdefinierte Dialogfenster oder Fehlermeldungen
I Dokumentstatistiken erstellen
I Daten aus anderen Anwendungen einbinden (insbesondereAccess-Datenbanken)
I Einbinden von Funktionalitat spezifischer Office-Anwendungen(integrierte Losungen)
I Umsatz- und Budgetzahlen aus einer Access-Datenbankwerden in Excel ausgewertet und visualisiert.
I Umfangreiche Excel-Tabellen konnen uber Word kompaktgedruckt werden.
10 / 36
![Page 11: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/11.jpg)
Microsoft Office-Anwendungen
Word Textverarbeitung,Seriendruck
Excel Tabellenkalkulation,Formeln, Diagramme
Access RelationaleDatenbanken,Formulare
PowerPoint Folienprasentation,Begleitmaterial
Outlook E-Mail,Terminplanung,Adressbucher
11 / 36
![Page 12: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/12.jpg)
Die VBA-Entwicklungsumgebung
12 / 36
![Page 13: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/13.jpg)
Elemente der VBA-Entwicklungsumgebung
Editor, Werkzeuge, Projektverwaltung
Projekt-Explorer gibt eine hierarchisch geordnete Ubersichtvon allen Elemente eines Projekts.
Eigenschaftenfenster listet die Eigenschaften und aktuellenEigenschaftswerte des markiertenElements.
Code-Fenster/Modulfenster dient zum Eingeben und Bearbeiten desProgrammcodes.
Direktfenster erlaubt es einzelne Anweisungen direktauszufuhren.
Lokal-Fenster zeigt die Werte aller lokaler Variablen imDebug-Modus an.
13 / 36
![Page 14: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/14.jpg)
Module
I VBA-Programme bestehen aus einer Kombination vonModulen.
I Jedes Modul enthalt Deklarationen von Konstanten, Variablenund Prozeduren.
Standardmodule sind fur ein gesamtes Projekt gultig.
Klassenmodule definieren ein neues Objekt mitzugehorigen Eigenschaften und Methoden.
Dokumentenmodule sind an ein konkretes Dokumentgebunden.
UserForm-Dialoge gehoren zu einem benutzerdefiniertenFormular und beinhalten die zugehorigenEreignisprozeduren.
14 / 36
![Page 15: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/15.jpg)
Organisation von Modulen
I Module konnen an ganze Dateien oder an einzelneDateielemente gebunden werden.
I Gruppieren Sie Prozeduren, die zusammen gehoren, in jeweilseigene Module!
I Benennen Sie Module mit aussagekraftigen Namen (z.B.Verwaltung oder Dokumentstatistik) statt derautomatisch erzeugten Namen Modul1, Modul2, etc. !
I Module konnen exportiert und importiert werden. BeimExportieren werden sie in Textdateien mit der Dateiendung*.bas gespeichert.
15 / 36
![Page 16: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/16.jpg)
Sub-Prozeduren
I Sub-Prozeduren bestehen aus einer Folge von Anweisungen(z.B. Zuweisungen von Variablen, Prozeduraufrufen,Verzweigungen, Schleifen, ...)
I Syntax von einfachen Sub-Prozeduren
Sub Prozedurname ()
...
End Sub
I Syntax von Prozeduraufrufen (ohne Parameter)
Prozedurname
Call Prozedurname
16 / 36
![Page 17: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/17.jpg)
Prozedurnamen und andere Bezeichner
I Bezeichner sind frei wahlbare Namen, mit denen Prozeduren,Variablen und Konstanten benannt werden.
I Sie durfen nicht mit Schlusselwortern ubereinstimmen.
I Sie mussen mit einem Buchstaben beginnen und konnen biszu 255 Buchstaben, Zahlen oder Unterstriche enthalten,jedoch keine Punkte oder Leerzeichen.
I VBA ist nicht case sensitive, d.h. Groß- und Kleinschreibungwerden nicht unterschieden.
I Bezeichner sollten eindeutig und aussagekraftig sein!
17 / 36
![Page 18: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/18.jpg)
Beispiel: Meldungsfenster mit allgemeiner Information
’Information zu Datum und Anwendung
Sub AllgemeineInfo ()
MsgBox "Heute ist " & Date & " und Sie arbeiten mit " &
Application.Name
End Sub
I Kommentare beginnen mit ’.
I Mit & werden Zeichenketten (Strings) zusammengefugt(Konkatenation).
I Date liefert das Datum des heutigen Tages.
I Auf Eigenschaften von Objekten (wie z.B. Application) wirdmit . zugegriffen.
18 / 36
![Page 19: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/19.jpg)
Meldungsfenster
I Meldungsfenster konnen dazu genutzt werden, dem BenutzerInformationen mitzuteilen und auch abzufragen. Sie bestehenaus dem Meldungstext und standardmaßig der Schaltflache“OK”. Sie kann optional mit einem Titel,Informationssymbolen und weiteren Schaltflachen erganztwerden.
I Einfaches Meldungsfenster
MsgBox "Meldungstext"
I Meldungsfenster mit Titel und Informationssymbol
MsgBox "Meldungstext", vbInformation , "Titel"
I Andere Symbole: vbCritical, vbQuestion, vbExclamation
19 / 36
![Page 20: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/20.jpg)
Meldungsfenster mit Ruckgabewert
I Uber Schaltflachen (Buttons) kann der Benutzer dieAnwendung interaktiv steuern.
Ergebniswert = MsgBox ("Text", Buttons + Symbole , "
Titel")
I Mit Ruckgabewert werden die Parameter in Klammernangegeben!
I Um Schaltflachen mit Symbolen zu kombinieren, werden diesemit + addiert.
20 / 36
![Page 21: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/21.jpg)
Ubersicht: Schaltflachen
Konstante Wert Schaltflache
vbOkOnly 0 OKvbOkCancel 1 OK und AbbrechenvbAbortRetryIgnore 2 Abbrechen, Wiederholen und IgnorierenvbYesNoCancel 3 Ja, Nein und AbbrechenvbYesNo 4 Ja und NeinvbRetryCancel 5 Wiederholen und Abbrechen
Die Verwendung der Konstanten ist aussagekraftiger als die derWerte:
MsgBox "Das ist ein Test", 0, "Das ist der Titel"
MsgBox "Das ist ein Test", vbOkOnly , "Das ist der Titel"
21 / 36
![Page 22: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/22.jpg)
Ubersicht: Ruckgabewerte von Schaltflachen
Konstante Wert gewahlte Schaltflache
vbOk 1 OKvbCancel 2 AbbrechenvbAbort 3 AbbrechenvbRetry 4 WiederholenvbIgnore 5 IgnorierenvbYes 6 JavbNo 7 Nein
22 / 36
![Page 23: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/23.jpg)
Beispiel: Verwendung von Schaltflachen
’Abfrage von Essensgewohnheiten
Sub Essensgewohnheiten ()
Wahl = MsgBox("Waren Sie heute in der Mensa essen?",
vbYesNo + vbQuestion , "Essensgewohnheiten")
If Wahl = vbYes Then
MsgBox "Ein Mensabesucher!"
Else ’Wahl = vbNo
MsgBox "Ein Hobbykoch!"
End If
End Sub
23 / 36
![Page 24: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/24.jpg)
Verzweigungen
I Bei Verzweigungen werden Programmteile abhangig von einerBedingung ausgewertet.
I Einseitige Auswahl
If Ausdruck Then
...
End If
If Temperatur >= -3 Then
MsgBox "Gefrierschrank
defekt"
End If
I Zweiseitige Auswahl
If Ausdruck Then
...
Else
...
End If
If Alter >= 18 Then
MsgBox "Normaltarif"
Else
MsgBox "Jugendtarif"
End If
24 / 36
![Page 25: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/25.jpg)
Verzweigungen
Mehrstufige Auswahl
If Ausdruck1 Then
...
ElseIf Ausdruck2 Then
...
ElseIf Ausdruck3 Then
...
Else
...
End If
If Temperatur < 0 Then
MsgBox "Frost!"
ElseIf Temperatur < 20 Then
MsgBox "
Durchschnittstemperatur
"
ElseIf Temperatur < 30 Then
MsgBox "Sommerfeeling"
Else
MsgBox "Hitzewelle!"
End If
25 / 36
![Page 26: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/26.jpg)
Variablen
I Mit Hilfe von Variablen kann man (temporar) Werte speichernund diese in den Prozeduren verwenden.
I Der Wert einer Variablen kann durch eine Zuweisungverandert werden.
I Variablen werden uber Bezeichner (Variablennamen)referenziert.
I Die Deklaration einer Variablen ist das Vereinbaren einerVariablen vor ihrem ersten Gebrauch.
Dim Variablenname As Datentype
I Beispiele:
Dim Anzahl As Integer
Dim AusgabeText As String
Dim Alter As Integer , Temperatur As Integer
Dim Gestern As Date
26 / 36
![Page 27: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/27.jpg)
Deklaration und Sichtbarkeit von Variablen
I Variablen, die im Deklarationsteil zu Beginn eines deklariertwerden, sind im gesamten Modul gultig.
I Variablen, die am Anfang einer Prozedur deklariert werden,sind nur innerhalb der Prozedur gultig.
I VBA erlaubt die implizite und explizite Deklaration vonVariablen.
Implizite Deklaration
I Variablen mussen vor ihrerersten Verwendung nichtdeklariert werden.
Explizite Deklaration
I Variablen mussen vor ihrerersten Verwendungdeklariert werden.
I Angabe von Option Explicit
zu Beginn des Modulserforderlich.
27 / 36
![Page 28: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/28.jpg)
Beispiel: Verwendung von Variablen
’Dauer des Semesters
Sub AnzahlTage ()
Dim Heute As Date , Semesterende As Date , Ausgabe As
String
Heute = Date
Semesterende = DateValue("25.07.2014")
Ausgabe = "Bis zum Ende der Vorlesungszeit sind es
noch " & DateDiff("d", Heute , Semesterende) & "
Tage."
MsgBox Ausgabe
End Sub
I Date ist der Datentyp fur ein Datum
I DateValue berechnet fur eine Datum im String-Format denWert im Datumsformat
I DateDiff liefert die Differenz in Tagen ("d") fur zweiDatumswerte.
28 / 36
![Page 29: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/29.jpg)
Zusammenfassung
I Allgemeine Informationen zu VBA und Microsoft Office
I VBA-Entwicklungsumgebung
I Interaktion mit dem Benutzer uber MeldungsfensterI Programmieren in VBA
I ModuleI ProzedurenI Anweisungen (einfache Prozeduraufrufe, Kontrollstrukturen:
Verzweigungen, Zuweisungen)I Variablen
29 / 36
![Page 30: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/30.jpg)
Ausblick
In der nachsten Vorlesung:
I Funktionen
I Datentypen
I Ausdrucke (Konstanten, Operatoren)
I Kontrollstrukturen: Fallauswahl und Schleifen
30 / 36
![Page 31: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/31.jpg)
Datentypen
I Der Datentyp definiert die Art sowie den Wertebereich einerVariablen oder Konstanten.
I Abhangig vom Datentyp wird Speicherplatz fur Variablen bzw.Konstanten reserviert.
I Bei impliziten Deklarationen wird in VBA der Datentyp Variant
verwendet.
31 / 36
![Page 32: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/32.jpg)
Ubersicht: Datentypen
Integer % Ganze Zahlen -32.768 bis 32.767Long & Ganze Zahlen -2.147.483.648 bis 2.147.483.647Single ! Fliesskommazahlen 7 Ziffern GenauigkeitDouble # Fliesskommazahlen 15 Ziffern GenauigkeitCurrency @ Fliesskommazahlen 15 Vor- und 4 NachkommastellenString $ Zeichenketten bis zu 65.535 ZeichenDate Datum und UhrzeitBoolean Logische Werte True und False
Variant Double, String oder Date
32 / 36
![Page 33: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/33.jpg)
Datentypen in Variablendeklarationen
Dim VarName1 As Datentyp1 , VarName2 as Datentyp 2, ...
Dim VarName1Typkennzeichen , VarName2Typkennzeichen , ...
Beispiele:
Dim Alter As Integer , Name as String
Dim Kundennummer&, Rechnungsbetrag@
I Numerische Variablen werden mit 0 initialisiert.
I Variant-Variablen werden mit Empty initialisiert.
I String-Variablen werden mit “” (leerer String) initialisiert.
33 / 36
![Page 34: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/34.jpg)
Umgang mit Datentypen
Sub ErmittleMonat1 ()
Dim strWert As String
strWert = "24.12.2012"
MsgBox "Monat: " & Mid(strWert , 4, 2)
End Sub
Funktioniert nicht bei "strWert = "1.1.2012"!
Sub ErmittleMonat2 ()
Dim datWert As Date
datWert = #12/24/2012#
MsgBox "Monat: " & Month(datWert)
End Sub
34 / 36
![Page 35: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/35.jpg)
Umgang mit Datentypen
Sub ErmittleMonat1 ()
Dim strWert As String
strWert = "24.12.2012"
MsgBox "Monat: " & Mid(strWert , 4, 2)
End Sub
Funktioniert nicht bei "strWert = "1.1.2012"!
Sub ErmittleMonat2 ()
Dim datWert As Date
datWert = #12/24/2012#
MsgBox "Monat: " & Month(datWert)
End Sub
35 / 36
![Page 36: Programmieren in Anwendungen - AG Softech · kompatibel seit VB.NET) I ... I Modul-orientiert und prozedural Literaturhinweis VBA-Programmierung - Integrierte L osungen mit O ce 2010,](https://reader033.vdokument.com/reader033/viewer/2022051407/5ca5815e88c9935a308c5fbf/html5/thumbnails/36.jpg)
Umgang mit Datentypen
Sub ErmittleMonat1 ()
Dim strWert As String
strWert = "24.12.2012"
MsgBox "Monat: " & Mid(strWert , 4, 2)
End Sub
Funktioniert nicht bei "strWert = "1.1.2012"!
Sub ErmittleMonat2 ()
Dim datWert As Date
datWert = #12/24/2012#
MsgBox "Monat: " & Month(datWert)
End Sub
36 / 36