VBA-Script.pdf

(375 KB) Pobierz
Microsoft Word - VBA-Script.doc
FACHBEREICH BAUINGENIEURWESEN
VBA Programmierung mit Excel
Kurzanleitung zum Arbeiten mit
VISUAL BASIC
FÜR APPLIKATIONEN
Select Case eulerfall
Case 1
sk = 2 * laenge
Case 2
sk = laenge
Case 3
sk = laenge / Sqr(2)
Case 4
sk = 0.5 * laenge
Case Else
MsgBox "Falsche Eingabe für Eulerfall " & eulerfall
Exit Sub
End Select
areaMin = 1E+30
iMem = 1000
sig = 1E+30
omegaMem = 0
For i = 1 To nHolz
area = breiteVH(i) * hoeheVH(i)
lambda = sk * 100 / min(breiteVH(i), hoeheVH(i)) * Sqr(12)
If lambda <= 150# Then
index1 = Int(lambda / 10) + 1
index2 = index1 + 1
Detlef Rothe
260269794.009.png 260269794.010.png
FACHBEREICH BAUINGENIEURWESEN
VBA
EDV Anwendungen im Bauwesen II
Inhaltsverzeichnis
1 Einleitung ....................................................................................................................................... 3
2 Sprachbeschreibung VBA ............................................................................................................ 6
2.1 Anweisung ............................................................................................................................... 6
2.2 Variablen und Konstanten ....................................................................................................... 6
2.2.1 Zuweisung ......................................................................................................................................... 7
2.2.2 Kommentarzeilen............................................................................................................................... 7
2.2.3 Datentypen (Zusammenfassung)....................................................................................................... 8
2.2.4 Arithmetische Operatoren .................................................................................................................. 8
2.2.5 Verkettungsoperator &....................................................................................................................... 9
2.3 Verzweigungen ........................................................................................................................ 9
2.3.1 If...Then...Else-Anweisung ................................................................................................................. 9
2.3.2 Vergleichsoperatoren....................................................................................................................... 10
2.3.3 Logische Operatoren ....................................................................................................................... 10
2.3.4 Select Case–Anweisung.................................................................................................................. 11
2.4 Schleifen ................................................................................................................................ 12
2.4.1 For...Next-Anweisung ...................................................................................................................... 12
2.4.2 Do…Loop–Anweisung ..................................................................................................................... 12
2.5 Datenfelder ............................................................................................................................ 13
2.5.1 Statische Datenfelder ...................................................................................................................... 13
2.5.2 Dynamische Datenfelder ................................................................................................................. 14
2.6 Prozeduren ............................................................................................................................ 15
2.6.1 Sub–Anweisung............................................................................................................................... 16
2.6.2 Function–Anweisung ....................................................................................................................... 17
2.6.3 Übergabeparameter......................................................................................................................... 17
2.7 Module ................................................................................................................................... 18
2.8 Benutzerdefinierter Datentyp................................................................................................. 18
2.9 Objekte .................................................................................................................................. 20
2.9.1 Einleitung ......................................................................................................................................... 20
2.9.2 Erläuterungsbeispiel ........................................................................................................................ 20
2.9.3 Objekt-Hierarchie in Excel ............................................................................................................... 22
2.9.4 With-Anweisung............................................................................................................................... 22
2.9.5 Range-Objekt................................................................................................................................... 23
2.9.6 WorksheetFunction-Objekt .............................................................................................................. 24
2.10 Nützliche Funktionen ............................................................................................................. 24
2.10.1 InputBox ...................................................................................................................................... 24
2.10.2 MsgBox ....................................................................................................................................... 25
3 Steuerelemente und Userform-Fenster..................................................................................... 25
3.1 Einfügen einer Schaltfläche zum Starten von Prozeduren.................................................... 26
3.2 Kombinationsfeld ................................................................................................................... 27
3.3 Benutzerformulare ................................................................................................................. 28
4 Literatur ........................................................................................................................................ 29
5 Anhang ......................................................................................................................................... 29
5.1 Schlüsselwörter ..................................................................................................................... 29
5.2 Symbole im Objektkatalog und im Code-Fenster.................................................................. 30
5.3 Abkürzungen für Datentypen................................................................................................. 30
5.4 Shortcuts in VBA.................................................................................................................... 30
Rothe
2/30
V. 1.0
260269794.011.png
 
FACHBEREICH BAUINGENIEURWESEN
VBA
EDV Anwendungen im Bauwesen II
1 Einleitung
Visual Basic für Applikationen (VBA) ist Bestandteil aller Microsoft Office Programme sowie
vieler Applikationen anderer Hersteller wie AutoCAD von Autodesk. Mit VBA können Sie die
Funktionalität von z.B. Excel erweitern und Ihren eigenen Bedürfnissen anpassen. Dadurch
können Sie immer wiederkehrende Vorgänge automatisieren und so Ihre Zeit für kreativere
Arbeiten nutzen.
Visual Basic für Applikationen ist eine Programmiersprache, die sogar objektorientierte
Programmentwicklung (OOP) ermöglicht.
Diese Kurzanleitung zum Arbeiten mit VBA setzt voraus, dass Sie den Stoff von EDV
Anwendungen im Bauwesen I beherrschen, besonders das Arbeiten mit MS Excel.
Damit Sie direkt auf den VBA-Editor zugreifen können, sollten Sie folgende Einstellung
aktivieren: Ansicht / Symbolleisten/ Visual Basic
Rothe
3/30
V. 1.0
260269794.001.png 260269794.002.png
FACHBEREICH BAUINGENIEURWESEN
VBA
EDV Anwendungen im Bauwesen II
Zur Einführung soll eine kleine eigene Funktion geschrieben werden, die von einer Zahl das
Quadrat berechnet. Diese Funktion soll „quadrat“ heißen.
In dem folgenden Beispiel steht in der Eingabezelle „B7“ die Zahl 3. In der Ergebniszelle „C7“
soll das Quadrat von 3, also 3*3 = 9 stehen. Dazu soll die selbst geschriebene Funktion
quadrat verwendet werden.
Um die Funktion zu schreiben, klicken Sie auf das Symbol Visual Basic Editor . Es
erscheint ein neues zusätzliches Fenster:
Diese Fenster enthält drei Unterfenster:
Projekt Explorer:
Klicken Sie auf das Projekt: VBAProjekt und drücken dann die rechte Maustaste und wählen
Einfügen / Modul. Es wird ein neues Modul mit dem Namen Modul1 erzeugt. Alternativ
können sie auch in der Menüleiste Einfügen / Modul wählen.
Rothe
4/30
V. 1.0
260269794.003.png 260269794.004.png
FACHBEREICH BAUINGENIEURWESEN
VBA
EDV Anwendungen im Bauwesen II
Code Fenster:
In das Code Fenster schreiben Sie die drei neuen Zeilen aus dem obigen Bild. Sie können
sich die Arbeit etwas erleichtern, wenn Sie in der Menüleiste auf Einfügen / Prozedur klicken.
Es erscheint dann folgender Dialog, den Sie wie gezeigt ausfüllen:
Eigenschaftsfenster
Dieses Fenster enthält Eigenschaften über Funktionen des aktuellen Moduls. Diese können
geändert werden.
Durch Klicken auf das ganz links stehende Excel-Symbol in der Symbolleiste können Sie
in die Excel-Tabelle zurückkehren.
Da Sie die eigene Funktion als public (öffentlich) definiert haben, können Sie sie wie jede
andere Excel-Funktion mit Hilfe des Funktionsassistenten benutzen:
Damit haben Sie Ihre erste eigene Funktion geschrieben!
Rothe
5/30
V. 1.0
260269794.005.png 260269794.006.png 260269794.007.png 260269794.008.png
Zgłoś jeśli naruszono regulamin