03.11.2013 Aufrufe

Informationsverarbeitung im Bauwesen - Institut fuer Hydromechanik ...

Informationsverarbeitung im Bauwesen - Institut fuer Hydromechanik ...

Informationsverarbeitung im Bauwesen - Institut fuer Hydromechanik ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Tabellenkalkulation<br />

Visual Basic for Applications<br />

Zusammenfassung<br />

<strong>Informationsverarbeitung</strong> <strong>im</strong> <strong>Bauwesen</strong><br />

Markus Uhlmann<br />

<strong>Institut</strong> für <strong>Hydromechanik</strong><br />

Abteilung Turbulente Strömungen<br />

WS 2009/2010<br />

1 / 18


Tabellenkalkulation<br />

Visual Basic for Applications<br />

Zusammenfassung<br />

3. VORLESUNG<br />

Einführung in Excel/VBA<br />

2 / 18


Tabellenkalkulation<br />

Visual Basic for Applications<br />

Zusammenfassung<br />

Fragen, die in dieser Vorlesung diskutiert werden<br />

◮ Wozu und wie verwendet man Tabellenkalkulation?<br />

◮ Was ist VBA?<br />

◮ Wie erstelle ich mein erstes Programm?<br />

3 / 18


Tabellenkalkulation<br />

Visual Basic for Applications<br />

Zusammenfassung<br />

Tabellenkalkulation<br />

spreadsheet<br />

Zweck<br />

◮ Kombination aus Berechnung und visueller Darstellung von<br />

Daten<br />

Verbreitete Programme<br />

◮ . . .<br />

◮ Visicalc (Apple – 1979)<br />

◮ Lotus 1-2-3 (IBM PC – 1983)<br />

◮ Microsoft Excel (1985)<br />

◮ OpenOffice.org Calc (2000)<br />

◮ Google Docs (2006)<br />

◮ . . .<br />

4 / 18


Tabellenkalkulation<br />

Visual Basic for Applications<br />

Zusammenfassung<br />

Konzepte<br />

Zellen<br />

◮ Einheiten, welche Daten unterschiedlicher Art aufnehmen<br />

können (z.B. Text, Zahlenwerte)<br />

Anordnung der Daten<br />

◮ Zellen sind wie Elemente einer Matrix organisiert<br />

◮ jede “Matrix” in einem Tabellenblatt (worksheet) enthalten<br />

◮ mehrere Tabellenblätter in einer Projektmappe (workbook)<br />

Indizierung<br />

◮ Spalten: Buchstaben; Zeilen: Zahlen (Bsp.: “B3”)<br />

5 / 18


Tabellenkalkulation<br />

Visual Basic for Applications<br />

Zusammenfassung<br />

Arbeiten mit Tabellen<br />

Wertzuweisung an Zellen<br />

◮ Eintragen von Daten per Keyboard<br />

◮ Berechnung als Funktion anderer Zellwerte<br />

◮ Import von Daten<br />

Zellbezüge<br />

◮ relativ: “A3” (bewegt sich mit bei Verschiebung)<br />

◮ absolut: “$A$3”<br />

6 / 18


Tabellenkalkulation<br />

Visual Basic for Applications<br />

Zusammenfassung<br />

Arbeiten mit Tabellen (2)<br />

Formeln<br />

◮ Zellwerte können durch Formeln ermittelt werden<br />

◮ Formeln starten mit Gleichheitszeichen “=”<br />

◮ einfache Rechenoperationen werden direkt eingegeben<br />

(Bsp.: “=A3*C4”)<br />

◮ Excel stellt weitere Funktionen für eine Vielzahl komplexer<br />

Operationen bereit<br />

7 / 18


Tabellenkalkulation<br />

Visual Basic for Applications<br />

Zusammenfassung<br />

Visualisierung mit Diagrammen<br />

Diagramme<br />

◮ Datenverlauf, -vergleich visuell dargestellt<br />

◮ Diagramme können auf Tabellenblatt erscheinen oder eigenes<br />

Diagrammblatt einnehmen<br />

◮ diverse Diagrammtypen<br />

◮ Punktdiagramm oftmals der nützlichste Typ<br />

8 / 18


Tabellenkalkulation<br />

Visual Basic for Applications<br />

Zusammenfassung<br />

VBA Eigenschaften<br />

Direkte Programmerstellung<br />

Makroaufzeichnung<br />

Eigenschaften von VBA<br />

Welche Beziehung besteht zwischen VBA und Visual Basic?<br />

◮ VBA und Visual Basic (VB) haben identischen Syntax<br />

(bis VB6!)<br />

◮ VBA ist integriert in<br />

Microsoft Anwendungen<br />

Word<br />

Excel<br />

Outlook<br />

. . .<br />

VBA<br />

◮ VB ist von Applikationen<br />

unabhängig<br />

◮ VB Programme werden<br />

mit Compiler übersetzt<br />

(z.B. Visual Studio)<br />

⇒ VBA Programme<br />

benötigen Interpreter<br />

⇒ VBA Programme<br />

“erben” Objekthierarchie<br />

9 / 18


Tabellenkalkulation<br />

Visual Basic for Applications<br />

Zusammenfassung<br />

VBA Eigenschaften<br />

Direkte Programmerstellung<br />

Makroaufzeichnung<br />

Eigenschaften von VBA (2)<br />

Funktionalität der Sprache<br />

◮ objektorientiert<br />

◮ modular<br />

◮ ereignisorientiert<br />

Integrierte Entwicklungsumgebung (IDE)<br />

◮ Editor<br />

◮ Debugger – Hilfsprogramm zur Fehlersuche<br />

◮ Hilfsmittel zur Verwaltung der Programmelemente<br />

10 / 18


Tabellenkalkulation<br />

Visual Basic for Applications<br />

Zusammenfassung<br />

VBA Eigenschaften<br />

Direkte Programmerstellung<br />

Makroaufzeichnung<br />

Starten der Entwicklungsumgebung<br />

◮ Aufruf aus Excel heraus:<br />

ALT + F11 drücken<br />

→ öffnet Visual Basic Editor (VBE)<br />

⇒ Projektexplorer, Eigenschaftsfenster, Programmeditor<br />

11 / 18


Tabellenkalkulation<br />

Visual Basic for Applications<br />

Zusammenfassung<br />

VBA Eigenschaften<br />

Direkte Programmerstellung<br />

Makroaufzeichnung<br />

VBA Programmerstellung<br />

Zwei Möglichkeiten zur Programmerstellung:<br />

◮ direkte Programmerstellung (Editieren)<br />

◮ Programmerstellung durch Makroaufzeichnung<br />

12 / 18


Tabellenkalkulation<br />

Visual Basic for Applications<br />

Zusammenfassung<br />

VBA Eigenschaften<br />

Direkte Programmerstellung<br />

Makroaufzeichnung<br />

Direkte Programmerstellung<br />

“Hello World” Beispielprogramm<br />

Sub TestSub()<br />

MsgBox "Hello World!"<br />

End Sub<br />

◮ Programm <strong>im</strong> Editor eingeben<br />

◮ Ausführen durch: Ausführen → Sub/UserForm ausführen<br />

13 / 18


Tabellenkalkulation<br />

Visual Basic for Applications<br />

Zusammenfassung<br />

VBA Eigenschaften<br />

Direkte Programmerstellung<br />

Makroaufzeichnung<br />

Makroaufzeichnung<br />

Aufzeichnung innerhalb von Excel<br />

◮ Makro-Rekorder starten: Extras → Makro → Aufzeichnen<br />

◮ aufzuzeichnende Schritte ausführen<br />

◮ Rekorder stoppen (Aufzeichnungsmaske)<br />

◮ Makro einer Schaltfläche zuweisen (Kontextmenü)<br />

Bearbeiten des generierten VBA Codes<br />

◮ Aufruf des VB Editors<br />

◮ Modifizieren, Hinzufügen, . . .<br />

ALT + F11<br />

14 / 18


Aufgabe 1: Ampelschaltung<br />

Tabellenkalkulation<br />

AchtungFahrt an VBA an Eigenschaften aus<br />

Visual Basic Fahrt for Applicationsaus Direkte aus Programmerstellung<br />

an<br />

Zusammenfassung Makroaufzeichnung<br />

AchtungHalt aus an aus<br />

AmpelAus aus aus aus<br />

Programmieren Sie für jede Schaltung eine eigene Prozedur.<br />

• Erstellen Sie für jede Schaltung eine eigene typische Schaltfläche. Weisen Sie die Prozeduren<br />

den Schaltflächen zu.<br />

• So ähnlich soll das Tabellenblatt gestaltet sein:<br />

15 / 18


Zusammenfassung<br />

Tabellenkalkulation<br />

Visual Basic for Applications<br />

Zusammenfassung<br />

Anhang<br />

Literatur<br />

Erste Schritte in Visual Basic for Applications<br />

◮ Syntax von VBA ist identisch mit Visual Basic<br />

(bis VB Version 6)<br />

◮ VBA ist eine Interpretersprache<br />

◮ prozedural, objektorientiert, ereignisgesteuert<br />

◮ integrierte Entwicklungsumgebung (IDE)<br />

◮ Makroaufzeichnung oder direktes Editieren<br />

16 / 18


Anhang<br />

Tabellenkalkulation<br />

Visual Basic for Applications<br />

Zusammenfassung<br />

Anhang<br />

Literatur<br />

17 / 18


Tabellenkalkulation<br />

Visual Basic for Applications<br />

Zusammenfassung<br />

Weiterführende Literatur<br />

Anhang<br />

Literatur<br />

◮ H. Vonhoegen, Excel 2007 – Das umfassende Handbuch,<br />

Galileo Computing. (Download) (alternativ)<br />

◮ P. Lomax, VB & VBA in a nutshell, O’Reilly, 1998.<br />

◮ J.G. Brookshear, Computer Science: An Overview, Pearson,<br />

10th edition, 2009.<br />

◮ P. Levi, U. Rembold, Einführung in die Informatik für<br />

Naturwissenschaftler und Ingenieure, Hanser, 4. Auflage, 2003.<br />

18 / 18

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!