Chip Excel Workshop

Embed Size (px)

Citation preview

2. Office-Kompakt-Ausgabe 04

12,95

64140

3 Alle Top-Tipps fr ExcelSchneller & einfacher kalkulieren VBA Schritt fr Schritt erklrt

3 Makros programmieren 3 Die besten Workshops

Excel-Know-how fr alle Versionen

Bei den Programmen handelt es sich um Free- und Shareware Die Heft-CD enthlt keine jugendbeeintrchtigenden Inhalte

CD

VORLAGEN AUF 150 perfekteInhalte knnen Sie unter Die auf der CD/DVD enthaltenen EXCELhttp://download.chip.eu/de/index.html kostenlos laden. Aktienverwaltung, Biorhythmus, Einkommensteuer,

Gewichtsprotokoll, Rechnungen, Sportturniere u.v.m.

VERSIONEN

|

PROGRAMMIERUNG

|

LSUNGEN

|

TIPPS & TRICKS EDITORIAL

3

EDITORIAL

Praxis,Tipps & Lsungen fr jedes ExcelDiese CHIP-Pocket-Ausgabe zu Excel beginnt gleich mit einer guten Nachricht fr diejenigen, die sich versionsmig nicht ganz up-to-date fhlen und noch mit Excel 97 oder 2000 arbeiten. In den ersten beiden Beitrgen knnen Sie nachlesen, warum Sie wahrscheinlich auf ein Update verzichten knnen. Fr die vielen Programmier-Workshops, Praxislsungen, Beispiel-Makros und die umfangreiche Tipp-Sammlung im Heft knnen Sie jedenfalls bei Ihrem Excel bleiben egal ob Sie mit 97, 2000, 2002/XP oder schon mit dem neuen Excel 2003 arbeiten. Die ganz wenigen Ausnahmen sind deutlich gekennzeichnet. Ansonsten wnsche ich Ihnen viele neue Anregungen beim Kalkulieren.

Stefan Wischner Redaktion

Schreiben Sie uns!

Anregungen, Fragen, Kritik? C-Sonderpublikationen; [email protected]; Fax: (089) 74642-368

IMPRESSUMChefredakteur: Thomas Pyczak Redaktionsleiter CHIP-Sonderpublikationen: Andreas Vogelsang Redaktion/Autoren: Stefan Wischner (verantw.), Ingo Bhme, Thorsten Franke-Haverkamp, Jan Vollmuth Schlussredaktion: Angelika Reinhard CD-Produktion: Alfred Stumpf Produktmanagement Sonderpublikationen: Sabine Eckl-Thurl (Ltg.), Angelika Reinhard, Julia Urban Grafische Gestaltung, EBV, Produktion: Dana Fidlerova Titel: Volker Hildebrand Bildredaktion: Gaby Koller-Rudat Content Management Software: Felix Godron Geschftsfhrer: Dr. Markus Witt, Josef Zach Verlags- und Anzeigenleiter Sonderpublikationen: Peter Deppner Herstellung: Dieter Eichelmann, Verlags-Herstellung, Vogel-Service GmbH, 97082 Wrzburg Verlag: Vogel Burda Communications GmbH, Poccistrae 11, 80336 Mnchen, Tel. (089) 746 42-0, Fax: (089) 74 60 56-0 Die Inhaber- und Beteiligungsverhltnisse lauten: Alleinige Gesellschafterin ist die Vogel Burda Holding GmbH mit Sitz in Poccistrae 11, 80336 Mnchen. Druck: Parzeller, 36043 Fulda Nachdruck: 2004 by Vogel Burda Communications GmbH. Nachdruck nur mit schriftlicher Genehmigung. Christiane Bertsch (E-Mail: [email protected]) Anzeigen-Koordination Sonderhefte: Julia Urban, Tel. (089) 74 64 25 46 Anzeigenverkauf: Brigitta und Karl Reinhart, Tel. (089) 46 47 29, Fax: (089) 46 38 15 Bereichsleiter Vertrieb: Achim Frank Vertrieb Einzelverkauf: Burda Medien Vertrieb GmbH, Arabellastrae 23, 81925 Mnchen

4

VERSIONEN

|

PROGRAMMIERUNG

|

LSUNGEN

|

TIPPS & TRICKS

INHALT

Excel97 2000 2002 2003VERSIONEN8 Neues muss nicht besser sein: Alle Excel-Versionenim berblick wann lohnt der Umstieg?

14 Spezialist fr Teamarbeit: Excel 2003 in der Praxis alle wichtigen Neuerungen ausfhrlich erklrt

PROGRAMMIERUNG18 Die vielen Gesichter von VBA: Lernen Sie die Fhigkeiten der Programmiersprache kennen

22 Lassen Sie Excel selbst programmieren: So zeichnenSie mit dem Makro-Rekorder Programmablufe auf

26 30 42 46 54

Nun gehts los: Der VBA-Editor im berblick Lernen Sie delegieren: So programmieren Sie mit VBA Excel la carte: Wie Sie Makros ins Men einbinden Excel fest im Griff: So greifen Sie auf Excel-Objekte zu Reflexartige Makros: So schreiben Sie Makros, die automatisch ausgefhrt werden tionen erweitern

62 Excel geht zur Schule: Wie Sie Excel um eigene Funk70 Formulare selbst gestalten: So entwickeln Sie eigeneAnwendungen mit dem Formular-Editor

CHIP | OFFICE KOMPAKT

5

OFFICE KOMPAKTLSUNGEN78 Wann ist nchstes Jahr Ostern? Mit den Datumsfunktionen ermitteln Sie alle Feiertage eines Jahres

86 So rechnet der Fiskus: CHIP zeigt Ihnen, wie Sie IhreSteuerschuld mit Excel berechnen

94 Projekt- und Zeitplanung: Wie Sie mit Hilfe von AddIns Ihre Zeit einteilen und Projekte planen

102 Wie geht es Ihnen heute? So ermitteln Sieper Biorhythmus-Diagramm Ihre Befindlichkeit

110 Heiraten spart Steuern: Ein Diagramm IhrerEinkommensteuer sagt, ab wann sich die Ehe lohnt

118 Automatisiertes Rechnungsformular anfertigen:So gestalten Sie eine eigene Rechnungsvorlage

134 Haushaltsplan anlegen: So verwalten Sie Ihr Budget

TIPPS & TRICKS142 ber 60 Excel-Tipps: Geballtes Know-how 3 Editorial: Praxis, Tipps & Lsungen fr jedes ExcelImpressum: Das CHIP-Team und der Verlag

6 Inhalt der Heft-CD: Top-Tools fr Excel und OfficeCHIP | OFFICE KOMPAKT

6

VERSIONEN

|

PROGRAMMIERUNG

|

LSUNGEN

|

TIPPS & TRICKS

CD-INHALT

Excel 97, 2000, 2002, 2003

Vorlagen und Tools fr alle VersionenExcel ist sehr vielseitig, was Vorlagen, Makros und Add-Ins angeht. Damit knnen Sie das Programm von Microsoft erheblich erweitern. Viele dieser zustzlichen Module finden Sie auf der CD zu dieser PocketAusgabe.Starke Grafiken: Die Statistik- und Grafik-Funktionen von Excel erlauben viele unterschiedliche Darstellungen.

ber 180 Excel-Erweiterungen, Bro-Anwendungen und Tools in den aktuellen Versionen sind auf der Heft-CD zu finden. Neben einem kompletten Office-Paket bietet Ihnen die Heft-CD weitere ntzliche Tools zum Thema Office. Auerdem finden Sie Programme, die Ihren Rechner sicherer und schneller machen. Darber hinaus: zahlreiche Workshops sowie 7.350 Tipps.

Randvolle Heft-CD: So kommen Sie an die ProgrammeUm die Excel-Tipps-CD nutzen zu knnen, legen Sie sie in das CD-Laufwerk. Sie startet automatisch. Sollte das Autorun-Kommando fr das Laufwerk nicht aktiv sein, knnen Sie die CD auch manuell starten. Dazu klicken Sie im Hauptverzeichnis der CD zweimal auf die Datei autostart.exe. Zustzlich bentigen Sie einen Web-Brow-

CHIP | OFFICE KOMPAKT

7

ser wie den Internet Explorer ab Version 4 oder Netscape Communicator ab Version 4 mit JavaScript. Damit Sie sich nach dem Start auf der CD-Oberflche zurechtfinden, ist diese in sechs Kategorien eingeteilt, die Sie mit einem Klick auf die entsprechende Registerkarte ffnen. Die Volltextsuche oben links untersttzt Sie beim Finden bestimmter Programme. Sie knnen aber auch auf den Anfangsbuchstaben des Programmnamens unterhalb des Suchfensters klicken, um schnell Zugriff auf das gesuchte Tool zu bekommen. Wenn Sie sich fr ein Programm interessieren, klicken Sie in der Listbox auf der linken Fensterseite den Namen an. Daraufhin ffnet sich auf der rechten Seite ein neuer Rahmen mit den wichtigsten Kurzinformationen zu der Software sowie einem aussagekrftigen Bildschirmfoto, das Sie durch Anklicken vergrern knnen. Die Installation eines Programms ist denkbar einfach: Am unteren Ende des Datenblattes finden Sie den Button Start. Ein Mausklick darauf ffnet den Installations-Assistenten des Tools, dessen Anweisungen Sie einfach folgen.

DIE HIGHLIGHTS DER CD

Die beste Software fr Excel-AnwenderOpenOffice 1.1.1 Kostenloses Officepaket, auf dem auch die neue Version von StarOffice basiert. Die Suite besteht aus Textverarbeitung, Tabellenkalkulation, Prsentations-Software und Zeichen-Programm. OpenOffice kann mit Microsofts Office-Formaten 97, 2000, XP und 2003 umgehen. Adobe Reader Speed-Up 1.21 Wer den Adobe Reader bentigt, wird die lange Startzeit der aktuellen Version 6 schon oft verflucht haben. Mit diesem Freeware-Tool knnen Sie nun unntige Plug-Ins deaktivieren, dann startet der Reader deutlich schneller. WordToPDF 1.9 Die Freeware kann Word-Dateien unter anderem in das PDF-Format umwandeln. Neben PDFDateien kann WordToPDF auch BMP-, JPG- und PCX-Files erzeugen. Fr jedes Ausgabeformat knnen verschiedene Qualittsstufen eingestellt werden. WordToPDF funktioniert mit den Word-Versionen ab 97. Print 2004 5.11 Print 2004 ist ein Formulardrucker fr Bank- und Postformulare. Ihre Kontodaten werden automatisch gespeichert, auerdem erfolgt eine automatische Kontonummern-berprfung, damit keine Zahlungsauftrge wegen falscher Kontonummern zurckkommen. PDF Blender 1.0 Mit der Freeware lassen sich mehrere PDF-Dokumente zusammenfgen. Das Tool lsst sich ganz einfach bedienen: Dateien auswhlen, Reihenfolge festlegen, gewnschten Dateinamen angeben fertig.CHIP | OFFICE KOMPAKT

CD defekt? CHIP liefert Ihnen kostenlosen ErsatzErkennt Ihr Laufwerk die CD nicht oder werden einzelne Programme nur zgernd gestartet, kann es sein, dass die CD defekt ist. berprfen Sie also zunchst, ob die Heft-CD in einem anderen Laufwerk hnlich reagiert. Eine defekte CD tauscht CHIP selbstverstndlich kostenlos aus. Bitte geben Sie dann auf jeden Fall Ihre komplette Andreas Vogelsang Anschrift an.

8

VERSIONEN News PROGRAMMIERUNG

|

LSUNGEN

|

TIPPS & TRICKS

Excel-Versionen im berblick

NEUESmuss nicht besser seinDer Oldtimer Excel 97 ist nach wie vor weit verbreitet, ebenso wie die Version 2000. Der Nachfolger Excel 2002 wurde inzwischen von der Version 2003 abgelst. Ob es unbedingt das neueste Excel sein muss, klrt dieser Beitrag.

E

xcel ist ein Phnomen: Selten halten sich von einem Programm so viele verschiedene Versionen gleichzeitig. So ist in vielen Unternehmen und auf HeimPCs noch immer der Oldtimer Excel 97 im Einsatz, und auch dessen Nachfolger Excel 2000 erfreut sich weiterhin groer Beliebtheit. Inzwischen haben sich die Versionen 2002 (auch Excel XP genannt) und jngst 2003 hinzugesellt. Deren Neuerungen sind jedoch hauptschlich fr Unternehmen und professionelle Anwender interessant: Funktionen wie das Speichern von Tabellen als Webseiten oder die Zusammenarbeit im Team via Internet oder Intranet sind fr Otto Normalkalkulierer von eher geringem Interesse. Unter dem Strich wird mit jeder Version die Bedienung komfortabler, nderungen betreffen Details und finden hauptCHIP | OFFICE KOMPAKT

schlich unter der Oberflche statt echte Neuerungen gibt's eigentlich nicht. Damit Sie selbst entscheiden knnen, welches Excel fr Ihre Anforderungen am besten geeignet ist und ob sich eventuell ein Umstieg auf eine neuere Version lohnt, beschreiben wir Ihnen auf den folgenden Seiten die wichtigsten Unterschiede der einzelnen Versionen. Wie schon erwhnt: Die grundlegenden Arbeitsschritte, Formeln und Funktionen haben sich seit der Version 97 nicht gendert. Daher sind Sie beim Erlernen und Anwenden der wichtigsten Excel-Funktionen weitestgehend unabhngig von der eingesetzten Excel-Version. Egal mit welcher Version Sie also am PC arbeiten, Sie knnen alle Beispiele aus dieser Ausgabe jederzeit nachvollziehen. Daher stehen in diesem Heft die noch immer am hufigsten genutz-

9

ten Programmversionen Excel 97 und Excel 2000 im Vordergrund (etwa in Form der vielen Bildschirmfotos zur Illustration der Beispiele). Falls erforderlich, weisen wir Sie natrlich auf eventuelle Unterschiede zu spteren Versionen hin.

Einzeln oder im PaketMicrosoft Excel ist ein Bestandteil des Programmpakets Microsoft Office. Sie knnen die Tabellenkalkulation jedoch auch einzeln erwerben. In der Vereinfachte Bedienung: Mens, die sich den Vorlieben Vergangenheit lag das komder Anwender anpassen sowie so genannte Arbeitsbereiche machen das Arbeiten mit Excel 2002 komfortabel. plette Microsoft Office beim Kauf eines neuen PCs hufig als Software-Zugabe bei, heute beschrnken tationsprogramm Powerpoint sowie in sich die Computerhndler meist auf das den Professional-Versionen die Datenbank Textprogramm Word. Neben Word und Ex- Access und der Web-Editor Frontpage zu cel gehren seit Office 97 der Personal Infor- Microsoft Office. Neu hinzugekommen sind mation Manager Outlook und das Prsen- ab Version 2000 die Programme Photo Draw und Publisher, whrend bei Office 2003 Frontpage durch einen Script-Editor ersetzt wurde. Neben den einzelnen Office-Anwendungen enthalten die Office-Pakete ab Version 2000 spezielle Programme fr das Zusammenspiel der Anwendungen auf einem Server und fr das Arbeiten in Gruppen ber ein Netzwerk. Diese Zugaben richten sich an Unternehmenskunden und sind fr Privatanwender in der Regel uninteressant.

Funktionen, Befehle und BedienungEinfach einfgen: Die Zwischenablage nimmt bis zu 24 Eintrge auf und steht als Arbeitsbereich zur Verfgung.

Wie viele Befehle und Funktionen Excel genau bietet, wissen wohl nicht einmal die Programmierer von Microsoft ganz genau. kCHIP | OFFICE KOMPAKT

10

VERSIONEN News PROGRAMMIERUNG

|

LSUNGEN

|

TIPPS & TRICKS

So geht es schneller: So genannte Smarttags stellen Ihnen hufig bentigte Optionen umgehend zur Verfgung, etwa beim Einfgen von Werten.

Doch auch ohne die genaue Zahl zu kennen, ist eines klar: Der Befehlsumfang von Excel hat sich im Vergleich von Version 97 zu Excel XP und Excel 2003 nur unbedeutend gendert. Es gibt im Wesentlichen keine neuen Mens und keine neuen Symbolleisten, die die Zahl der Befehle fr die Bearbeitung oder Berechnung von Tabellen dramatisch erhhen wrden. Die nderungen betreffen in der Regel Details und finden unter der Oberflche statt. Die einzelnen Versionen unterscheiden sich vor allem durch kosmetische Vernderungen und eine vereinfachte Bedienung, was brigens auf alle Anwendungen von Microsoft Office zutrifft: So bietet Excel 2000 dem Anwender erstmals in mehreren Ebenen aufklappbare Mens und weitere nderungen an, die in den nachfolgenden VersioCHIP | OFFICE KOMPAKT

nen XP und 2003 konsequent weiterentwickelt wurden. Eine dieser nderungen fllt gleich nach dem Start von Excel XP ins Auge: Am rechten Bildschirmrand befindet sich ein Fenster

Vielseitig: Die Funktion Autosumme berechnet nicht nur Summen, sondern auch den Mittelwert oder die Anzahl der Werte.

11

INFO

Das

ist anders in Excel 2002

Excel 2002 bietet einige Verbesserungen, die vor allem den Power-User ansprechen, der dankbar fr jede eingesparte Minute ist.Formelprfer vereinfacht Fehlersuche Der neue Formelprfer analysiert, woran es liegen kann, wenn Berechnungen zu seltsamen Ergebnissen fhren. Dazu geht der Prfer die betreffende Formel Schritt fr Schritt durch und macht die Verbindungen der darin einbezogenen Zellen sichtbar. Erweiterte Zwischenablage Die Zwischenablage nimmt nun bis zu 24 Eintrge auf, die dort gezielt wieder abgerufen werden knnen. Aufgabenbereich Neue Arbeitsmappe Dabei handelt es sich um ein schmales Fenster, das nach dem Start von Excel automatisch am rechten Bildrand eingeblendet wird. Dort finden Sie Funktionen, die Sie zum Anlegen von Arbeitsmappen oder zum ffnen bereits angelegter Tabellen bentigen. Summenfunktion erweitert Die Funktion AutoSumme zur automatischen Summenbildung berechnet jetzt auch Mittelwerte, Anzahl, Maximal- und Minimalwerte. Auerdem bietet sie eine direkte Verbindung zum Funktions-Assistenten. Verbesserter Umgang mit Hyperlinks Wenn Sie auf einen Hyperlink in einer Tabelle klicken, wird automatisch die entsprechende Web-Seite oder Datei geffnet. Hilfe nach Rechnerabsturz Die Funktion AutoWiederherstellen speichert regelmig Sicherungskopien der jeweils geffneten Dokumente. Sollte der Rechner abstrzen, werden die davon betroffenen Dateien nach dem Neustart automatisch wiederhergestellt und am Bildschirm dargestellt. Erweiterte Suchfunktion Der Aufgabenbereich Suchen erlaubt die gezielte Suche nach beliebigen Dateien mit Hilfe individueller Suchkriterien. Erweiterte Einfge-Optionen Mit der neuen Schaltflche Auto-Ausfllen bestimmen Sie, was beim Einfgen zuvor kopierter Daten in eine Zelle oder einen Datenbereich passieren soll. Cliparts einfgen Der Aufgabenbereich ClipArt einfgen erleichtert die thematische Suche nach Cliparts auf Ihrem PC oder im Internet. Tabellen automatisch im Internet verffentlichen Eine Tabelle, die Sie im Internet verffentlichen, wird nach einer spteren nderung automatisch ins Internet bertragen, um die alte Version zu ersetzen. Farbige Arbeitsblattregister Die Registerzungen am unteren Bildschirmrand knnen nun farbig hervorgehoben werden, um die bersicht zu verbessern. Suche nach Hilfetexten ber das Eingabefeld Frage hier eingeben in der Menleiste knnen Sie das Excel-Hilfesystem nach Stichworten durchsuchen.

CHIP | OFFICE KOMPAKT

12

VERSIONEN News PROGRAMMIERUNG

|

LSUNGEN

|

TIPPS & TRICKS

Bedarf von Excel eingeblendet werden; sie sind also kontextsensitiv. Die eingeblendeten Smarttags bieten Ihnen zustzliche Optionen fr das Ausfhren einer Aktion an. Mchten Sie zum Beispiel mit der Tastenkombination Strg+X den Inhalt einer Zelle ausschneiden und an anderer Stelle wieder mit Strg+V ins Arbeitsblatt einfgen, erscheint ein Smarttag und bietet Ihnen verschiedene EinfgeOptionen an: zum Beispiel Alle Formate der Ursprungszelle beiSchn bunt: Registerzungen lassen sich in Excel 2002 behalten, Formatierung der zur besseren Unterscheidung farbig hervorheben. Zielzelle bernehmen, Werte und Zahlenformate oder Breimit der berschrift Neue Arbeitsmappe. te der Ursprungsspalte beibehalten. DarDabei handelt es sich um einen so genann- ber hinaus gibt es auch recht hilfreiche ten Arbeitsbereich. Ein Arbeitsbereich fasst Smarttags mit Optionen zur Fehlerprfung alle wichtigen Funktionen zusammen, die oder mit Funktionen zum automatischen Sie fr eine bestimmte Aufgabe bentigen, Ausfllen von Zellen. in diesem Fall zum Anlegen und ffnen von Eine weitere sehr hilfreiche Neuerung ab Arbeitsmappen. Auf diese Weise knnen Sie Version 2002 ist ohne Zweifel die Funktion Excel schneller bedienen und gewinnen Zeit. AutoWiederherstellen. Sollte Ihr PC oder Excel XP hlt drei weitere Arbeitsbereiche bereit: Mit Zwischenablage knnen Sie Informationen verwalten, die Sie in die Zwischenablage kopiert haben, mit Suchen spren Sie Dateien auf der Festplatte oder im Internet auf, und mit ClipArt einfgen peppen Sie das Aussehen von Tabellen durch Einfgen grafischer Elemente auf. In Excel 2003 kommt schlielich der Arbeitsbereich Recherche fr die gezielte Online-Suche nach Informationen hinzu. Auch die so genannten Smarttags sind eiSchnelle Hilfe: Ab Excel 2002 knnen Sie mit einer Suchfunktion die Hilfetexte nach ne echte Weiterentwicklung. Dabei handelt Stichworten durchsuchen. es sich um spezielle Schaltflchen, die beiCHIP | OFFICE KOMPAKT

13

Excel einmal mitten in der Arbeit an einer Tabelle abstrzen oder der Strom ausfallen, gehen normalerweise (also bei lteren ExcelVersionen) alle nicht gespeicherten Daten fr immer verloren. Doch die Funktion AutoWiederherstellen legt regelmig Sicherungskopien Ihrer Tabellen an und zaubert diese nach einem Absturz automatisch wieder auf den Bildschirm, sobald Sie Excel erneut starten. Und was hat das noch junge Excel 2003 darber hinaus zu bieten? Besonders interessant sind die erweiterten Listen-Funktionen und die so genannten Smart Documents. Smart Documents sind spezielle Vorlagen oder Formulare, die mit Datenbanken etwa auf dem PC oder einem Server verknpft werden knnen, um von dort Daten zu bernehmen. Listen wiederum sind nichts Neues: Sie vereinfachen schon in frheren Excel-Versionen das Auswerten von Daten und erleichtern zum Beispiel das Sortieren von Zellinhalten. Jetzt knnen Sie jedoch jeden beliebigen Bereich einer Tabelle als Liste behandeln, unabhngig vom Rest der Tabelle.

Wie das geht, lesen Sie im nachfolgenden Beitrag, der weitere Neuigkeiten von Excel 2003 nher vorstellt.

Umstieg unter VorbehaltSie sehen: Wer als Normalanwender mit den lteren Versionen Excel 97 oder 2000 zufrieden ist und auch mit deren Bedienung gut zurechtkommt, kann sich den Umstieg auf eine neuere Version sparen. So genannte Power-User oder Unternehmen, die dankbar fr jede bei der Arbeit gewonnene Minute sind, sollten aber aufgrund der praktischen Arbeitsbereiche und der optimierten Bedienung einen Umstieg auf Excel 2002 oder 2003 erwgen. Da sich die Neuerungen von Excel 2003 hauptschlich auf eine neue Optik beschrnken und eine verbesserte Teamarbeit bers Netz und optimierte Arbeitsprozesse in den Mittelpunkt stellen, ist der Einsatz dieser Version in erster Linie Unternehmen zu empfehlen zumal Office 2003 nur noch unter Windows XP luft und mit seinem Einsatz entsprechende Systemvoraussetzungen verbunden sind. Jan VollmuthSchnelleres Arbeiten: Die verbesserte Integration von Listen in Excel 2003 vereinfacht die Bedienung.

CHIP | OFFICE KOMPAKT

14

VERSIONEN News PROGRAMMIERUNG

|

LSUNGEN

|

TIPPS & TRICKS

Excel 2003 in der Praxis

Spezialist fr Team-ArbeitFr den privaten Anwender lohnt sich der Umstieg auf Excel 2003 kaum: Die meisten Neuerungen wenden sich vor allem an Unternehmen, die Arbeitsablufe optimieren mchten und Daten aus unterschiedlichen Quellen verwenden.

D

er erste Eindruck erfreut das Anwenderherz: Nach dem Start prsentiert sich Excel 2003 in vllig neuem, eleganten Gewand. Die berarbeitete Oberflche lehnt sich jetzt an das Windows-Desktop-Farbschema an. Die Mens, Symbolleisten und Dialoge von Excel erscheinen also mit dem von Ihnen fr Windows festgelegten Farbschema. Darber hinaus wurden die Aufgabenbereiche am rechten Rand des Programmfensters aufpoliert, in denen hufig benutzte Funktionen fr unterschiedliche Aufgaben zur Verfgung gestellt werden. Sie wirken jetzt bersichtlicher und praxisnher. So enthlt zum Beispiel der Aufgabenbereich Neue Arbeitsmappe nur noch die Abschnitte Neu und Vorlagen. Zustzlich gibt's einen Aufgabenbereich mit eigener Suchfunktion, mit der Sie die Internet-

Seiten von Microsoft nach weiteren Dokumentvorlagen durchforsten knnen. Und so finden Sie die gewnschten Vorlagen:

Online-Vorlagen verwendenStellen Sie eine Online-Verbindung her und starten Sie Excel 2003. Klicken Sie im Arbeitsbereich Neue 2 Arbeitsmappe unter Vorlagen in das Eingabefeld Onlinesuche nach:. Geben Sie einen Suchbegriff ein, zum Beispiel Rechnung, und drcken Sie dann die Eingabetaste. Falls Excel erfolgreich ist, erhalten Sie 3 im Fenster Suchergebnisse eine Liste mit den im Internet gefundenen Vorlagen. Klicken Sie auf einen der Eintrge, um eine Vorschau zu erhalten.

1

Elegantes Design: Excel 2003 prsentiert seine Mens, Symbolleisten und Dialoge im aktuellen WindowsFarbschema.

CHIP | OFFICE KOMPAKT

15

enthalten. Sie werden jetzt durch eine blaue Umrandung hervorgehoben, und in den Spaltenkpfen werden automatisch die Schalter fr die Autofilterfunktion eingeblendet. Sie sparen sich so den Umweg ber das Men. Auerdem erscheint eine Symbolleiste am Bildschirm, in der Sie die wichtigsten Befehle zur Bearbeitung von Listen vorfinden. Auerdem lassen sich Listen im Handumdrehen wieder in feste Vorlagen aus dem Internet: Microsoft stellt im Internet Bereiche eines Arbeitsblattes Vorlagen zur Verfgung, die Sie von dort auf Ihren Computer umwandeln. Und so erstelladen knnen. len Sie eine sortierte Liste in Ihrem Arbeitsblatt: ffnen Sie eine Tabelle, die Daten fr Wenn Sie die angezeigte Vorlage ver4 wenden mchten, klicken Sie im Fens- 1 eine Liste enthlt. Markieren Sie den Datenbereich, den ter Vorschau auf Vorlage auf Down2 Sie als Liste darstellen mchten. load. Besttigen Sie die folgende Abfrage Whlen Sie im Men Daten den mit Ja. Schon ist die Vorlage in Excel gela3 Eintrag Liste und Liste erstellen. den und erscheint am Bildschirm. Wenn die oberste Zeile des markierten Speichern Sie die Vorlage mit dem Be5 fehl Speichern unter aus dem Men 4 Bereichs als Spaltenkopf dienen soll, aber nicht automatisch als solcher erkannt Datei als Dateityp Mustervorlage. wurde, klicken Sie auf Meine Liste hat eine Erweiterte Kopfzeile und dann auf OK. Listenfunktion Daraufhin erscheint die Liste am Bild5 schirm. Neben den Spaltenkpfen seWeitere Neuerungen und Weiterentwicklungen bereits vorhandener Merkmale von hen Sie die Schalter fr die Autofilter. Um eine neue Zeile in eine Liste einExcel 2003 erschlieen sich meist erst auf 6 zufgen, markieren Sie die Zelle, ber den zweiten Blick. Sie betreffen hufig Details, die sich unter der Oberflche des Pro- der die neue Zeile eingefgt werden soll. Klicken Sie in der Symbolleiste Liste auf Lisgramms befinden. Eine ntzliche Verbesserung hat unter te, dann auf Zeile/Spalte einfgen, Zeile. Eine bestehende Liste lsst sich jederanderem die Listenfunktion erhalten. Eine 7 zeit nachtrglich vergrern oder ver- k Tabelle kann mehrere Listen gleichzeitigCHIP | OFFICE KOMPAKT

16

VERSIONEN News PROGRAMMIERUNG

|

LSUNGEN

|

TIPPS & TRICKS

Schnell erreichbar: Die Listenfunktionen stehen ber die zugehrige Symbolleiste im Handumdrehen zur Verfgung.

kleinern. Dazu aktivieren Sie zunchst die Liste mit einem Klick. Nun fhren Sie einfach den Mauszeiger ber die rechte untere Ecke des Listenfeldes. Sobald sich der Mauszeiger in einen Doppelpfeil verwandelt, knnen Sie den Rahmen mit gedrckter linker Maustaste aufziehen oder verkleinern. Um eine Liste zu sortieren, klicken Sie 8 auf die Schaltflche fr den Autofilter in der Kopfzeile der Spalte, nach der Sie die Liste sortieren mchten. Whlen Sie in der sich ffnenden Auswahlleiste Aufsteigend sortieren oder Absteigend sortieren.

untereinander am Bildschirm angeordnet und deren Bildlauf synchronisiert: Sobald man den Ausschnitt einer Tabelle via Bildlauf verndert, wird der Ausschnitt des anderen Fensters automatisch nachgefhrt. Leider fhrt diese Funktion keinen Vergleich der Zellen durch. Sie mssen also die Inhalte der einzelnen Zellen selbst vergleichen. ffnen Sie gewohnt zwei Tabellen, die 1 Sie miteinander vergleichen mchten. Whlen Sie im Men Fenster den 2 Befehl Nebeneinander mit vergleichen (anstelle der Punkte erscheint der Name der zweiten Tabelle). Daraufhin erscheinen beide Tabellen untereinander. Den Bildausschnitt verndern Sie mit 3 dem Bildlauf des jeweils aktiven Fensters. Der Balken der Bildlaufleiste beeinflusst, mit der Maus verschoben, beide Tabellen gleichzeitig. Diese Synchronisierung knnen Sie 4 mit dem Symbol Synchroner Bildlauf ganz links in der eingeblendeten Symbolleiste beliebig ein- und ausschalten. Dort

Arbeitsmappen vergleichenIn den vorhergehenden Excel-Versionen lieen sich zwei Arbeitsbltter nur mit viel Mhe oder mit Hilfe von Zusatz-Software vergleichen. Der neue Befehl Nebeneinander vergleichen mit soll den Anwendern von Excel 2003 das Aufspren von Unterschieden in Tabellen erleichtern. Dazu werden die Fenster zweier geffneter TabellenCHIP | OFFICE KOMPAKT

Vereinfacht, aber unvollkommen: Tabellen lassen sich dank synchronem Bildlauf leichter vergleichen, doch den Zellinhalt mssen Sie noch selbst berprfen.

17

NEUE FUNKTIONEN IN EXCEL 2003

Highlights

fr Power-User

Excel 2003 zeichnet sich vor allem durch eine neu gestaltete Oberflche und Funktionen aus, von denen in erster Linie professionelle Anwender in Unternehmen profitieren, die ber ein Netzwerk eng zusammenarbeiten.Vergleichen von Arbeitsmappen Wenn eine Tabelle von mehreren Benutzern berarbeitet wurde, lassen sich die jeweils vorgenommenen nderungen manchmal nur schwer nachvollziehen. Mit der neuen Funktion Nebeneinander vergleichen mit knnen Sie die Unterschiede zwischen zwei Arbeitsmappen anzeigen, ohne dazu die Tabellen zusammenfhren zu mssen. Verbesserte Statistikfunktionen Von verschiedenen Statistikfunktionen wurden unter anderem Rundungsergebnisse sowie die Genauigkeit erweitert. Erweiterter Funktionsumfang fr Listen In Excel 2003 knnen Sie mit Hilfe von Listen zusammenhngende Daten gruppieren und gemeinsam bearbeiten. Die Daten einer Liste lassen sich unabhngig von Daten auerhalb der Liste verwalten und analysieren. Verbesserte XML-Untersttzung Excel untersttzt bereits seit Version 2002 die Seitenbeschreibungssprache XML (Extensible Markup Language). In der neuen Version (ab der Professional Edition) knnen jetzt Struktur und Inhalt einer Datenquelle per Ziehen und Ablegen der passenden XMLElemente als Liste ins aktuelle Arbeitsblatt bernommen werden. Smart Documents Bei den so genannten Smart Documents handelt es sich um extra programmierte Dokumente, die das Funktionsangebot von Arbeitsmappen erweitern. Smart Documents lassen sich zum Beispiel mit einer Datenbank verbinden, aus der sie bei Bedarf Daten abrufen, etwa zum Ausfllen von Formularen. Neue und berarbeitete Arbeitsbereiche Die in der letzten Version eingefhrten Arbeitsbereiche wurden berarbeitet und umgestaltet. Sie wirken nun wesentlich bersichtlicher. Der neue Recherche-Aufgabenbereich ermglicht die gezielte Online-Suche nach Informationen. Sie knnen zum Beispiel Begriffe in einem Lexikon nachschlagen oder einzelne Begriffe bersetzen lassen. Der Bereich Microsoft Office Online fhrt direkt zu den Office-Seiten im Internet.

finden Sie auch den Befehl zum Verlassen des Vergleichsmodus.

Fazit: Excel 2003 eignet sich vor allem fr ProfisWirkliche Neuerungen fr die klassische Tabellenkalkulation sucht man in Excel 2003 vergebens. Die Optik wurde aufpoliert,

einige Details verbessert. Office 2003 wurde gezielt fr den Unternehmens-Einsatz optimiert, beispielsweise durch das XML-Format oder spezielle Team-Funktionen. Wer bereits Excel 2000 oder XP besitzt, kann damit seine tgliche Arbeit und alle typischen Tabellenanwendungen ebenso gut erledigen. Jan VollmuthCHIP | OFFICE KOMPAKT

18

VERSIONEN PROGRAMMIERUNG Die Fhigkeiten von VBA

LSUNGEN

|

TIPPS & TRICKS

Die Fhigkeiten von VBA

Die vielen Gesichter von VBAVBA ist die vielseitigste Makrosprache, die es derzeit fr Anwendungen gibt. Sie ist seit Excel 95 Bestandteil der Tabellenkalkulation. Lesen Sie, welche Aufgaben Sie mit dieser Programmiersprache lsen knnen.

V

isual Basic fr Applikationen (VBA) ist eine leistungsstarke Programmiersprache, mit der Sie Excel an Ihre individuellen Bedrfnisse anpassen knnen. Mit Hilfe dieser vielseitigen Makrosprache knnen Sie aus der Tabellenkalkulation mehr machen, als sich selbst die Entwickler von Excel bei Microsoft jemals htten vorstellen knnen. VBA als reine Makrosprache zu bezeichnen wird diesem mchtigen und flexiblen Werkzeug jedoch bei weitem nicht gerecht. Deshalb mchten wir Ihnen in diesem ersten Beitrag einen berblick geben, was Sie mit VBA realisieren knnen.

VBA die leistungsstarke ProgrammierspracheVisual Basic fr Applikationen basiert auf der bekannten und beliebten Programmiersprache Visual Basic, die bereits seit einer Reihe von Jahren zum Programmieren von Windows-Anwendungen zur Verfgung steht und von vielen Anwendern geschtzt wird. Visual Basic ist insbesondere deshalb beliebt, weil sie zum einen sehr leicht zu erlernen ist und zum anderen dem Programmierer zahlreiche Hilfestellungen an die Hand gibt, so dass er nicht stumpfsinnig irgendwelche Befehle oder Programmierkniffe auswendig lernen muss. Auerdem wchst die Leistungsfhigkeit der Programmiersprache mit zunehmender Erfahrung des Anwenders. So knnen Sie am Anfang leicht erste Erfolge erzielen und mit jedem Tag, an dem Sie professioneller werden, grere Projekte realisieren. In dem Grundlagenbeitrag Einfhrung in die Programmierung ab s30 lernen Sie die wichtigsten Elemente dieser Sprache kennen, so dass Sie die Artikel dieses Heftes besser verstehen.

KNOW-HOW Add-InAls Add-In bezeichnet man in Excel eine Sammlung von Funktionen zu einem bestimmten Spezialgebiet. Sobald Sie diese Funktionen ber den Add-In-Manager im Men Extras fest eingebunden haben, stehen sie Ihnen wie normale Excel-Arbeitsblattfunktionen zur Verfgung.

CHIP | OFFICE KOMPAKT

19

Eigene Funktionen mit VBA programmierenVielleicht haben Sie sich auch schon mal gefragt, warum die eine oder andere Funktion, die Sie hufig fr Ihre Arbeit mit Tabellen bentigen, in Excel nicht vorhanden ist. Ein Beispiel: Warum knnen Sie nicht einfach in einer Excel-Zelle den Befehl =Kreisum-

fang(30) eingeben, um als Ergebnis der Funktion den Umfang eines Kreises in der zugehrigen Zelle von Excel zu sehen? Warum gibt es keine Funktion, die aus einem Namen den Vornamen herausfiltert, beispielsweise =Vorname (Jean Jacques Cousteau)? Es gibt Hunderte, wenn nicht sogar Tausende von verschiedenen Einsatz- k

INFO

Programmzeilen im VBA-Editor richtig eingebenWenn Sie dieses Sonderheft durchblttern, finden Sie viele Beispiele fr Programmcode, den Sie im Editor der VBA-Entwicklungsumgebung eingeben sollten gut zu erkennen an einer anderen Schrift auf einem farbigen Hintergrund. Normalerweise werden die Zeilen so eingegeben, wie sie im Code stehen. Am Ende einer Zeile drcken Sie also die Eingabetaste, um den Text der nchsten Zeile einzutippen. Manchmal passt aber aus drucktechnischen Grnden der Inhalt einer Zeile, wie Sie sie im Editor eingeben mssten, nicht in eine Zeile im Sonderheft. Um Ihnen in solchen Fllen die korrekte Eingabe zu erleichtern, haben wir am Ende solcher Zeilen das Zeichen t eingefgt: Wann immer Sie auf dieses Zeichen stoen, drfen Sie nicht die Eingabetaste drcken, sondern mssen in derselben Zeile im Editor mit dem Text der nachfolgenden Zeile fortfahren. Rechts sehen Sie ein Beispiel fr einen solchen Programmcode (auch Listing genannt): Die ersten sechs Zeilen bis einschlielich Err.Clear geben Sie also ein, indem Sie den Text der Zeile eintragen und dann die Eingabetaste drcken. Hinweis: Die Einrckungen dienen nur der bersichtlichkeit, Sie mssen sie also nicht befolgen. Die 7. und 8. Zeile hingegen gehren im Editor in eine einzige Zeile, also bitte nicht am Ende der 7. Zeile auf die Eingabetaste drcken (hier sehen Sie das Zeichen t als Hinweis). Gleiches gilt wieder fr die 10., 11. und 12. Zeile des Beispiels unten: Auch diese drei Druckzeilen gehren in eine einzige Zeile im VBA-Editor. Hier sehen Sie auch, dass manche Editor-Zeilen so lang sind, dass sie im Heft auf mehrere Druckzeilen aufgeteilt werden mussten.Sub MappenSchutzEntfernen() On Error Resume Next For I = 0 To 2047 erg = pwkombi(I) For J = 32 To 126 Err.Clear ActiveWorkbook.Unprotect t erg & Chr(J) If Err = 0 Then MsgBox "Der Code lautet: t " & erg, , "Passwort t geknackt!" Exit Sub End If Next Next End Sub

t bedeutet: Diese und die Folgezeile mssen in einer Zeile eingegeben werden.

CHIP | OFFICE KOMPAKT

20

VERSIONEN PROGRAMMIERUNG Die Fhigkeiten von VBA

LSUNGEN

|

TIPPS & TRICKS

bereichen, in denen mit Excel gearbeitet wird. Jeder Anwender hat ganz spezielle Anforderungen an das Tabellenprogramm. In einem Architekturbro werden damit etwa Aufmae berechnet, in einer Werbeagentur wird hingegen zum Beispiel eine Kontaktdatenbank gepflegt. Wren nun alle mglichen Funktionen aller mglichen Anwendungen direkt in Excel enthalten, wre die Funktionsvielfalt berwltigend niemand wrde sich zurechtfinden. Aber mit Hilfe von VBA erzeugen Sie eigene Funktionen fr einzelne Tabellenbltter, oder Sie stellen die Funktion in Form eines sogenannten Add-Ins fr alle Excel-Dateien zur Verfgung.

Aufgaben automatisch erledigen lassenNeben den benutzerdefinierten Funktionen, die Sie mit VBA entwickeln knnen und anschlieend in Excel auf gleiche Weise verwenden wie die bereits implementierten Standardfunktionen, knnen Sie auch hufig erforderliche Routineaufgaben zur automatischen Ausfhrung an Makros delegieren. Soll beispielsweise in einer Tabelle jede zweite Zeile hellgrau eingefrbt werden? Bei fnf Zeilen machen Sie das vielleicht noch manuell. Handelt es sich hingegen um eine Adressdatenbank mit Hunderten von Eintrgen, lohnt es sich in jedem Fall, ber eine Makrolsung nachzudenken. Diese Makros

INFO

Visual Basic: Die Sprache fr alle GelegenheitenOb Sie nun wie in diesem Heft beschrieben Excel oder eines der anderen Office-Programme von Word ber Access bis hin zu Outlook und PowerPoint mit Hilfe eigener Makros und Programme erweitern wollen: Stets ist es Visual Basic fr Applikationen (VBA), das die Grundlage der individuellen Anwendungen bildet. Immer brauchen Sie also Kenntnisse in der Programmiersprache Visual Basic. Jede dieser Anwendungen besitzt eine eigene Entwicklungsumgebung, in der Sie die Makros programmieren knnen. Die Makros selbst werden bei Office nicht als separate Dateien gespeichert, sondern befinden sich im Dokument der jeweiligen XLS-, DOC- oder MDB-Datei. Die Entwicklungsumgebungen hneln sich wie ein Ei dem anderen. Einzig der Zugriff auf die anwendungsspezifischen Dokumente unterscheidet die Art zu programmieren. So verfgt ein ExcelDokument ber Arbeitsmappen, Tabellen und Zellen. Im Gegensatz dazu gibt es in Word Dokumente und Vorlagen, und Access bietet die Datenbanken, die der Programmierer mit VBA-Code manipulieren kann. Aber bei Office hrt die Programmierung mit Visual Basic noch lange nicht auf. So lassen sich fr Pocket-PCs mit dem Betriebssystem Windows CE mit Hilfe des kostenlosen eMbedded Visual Basic professionelle Programme fr diese Organizer entwickeln. Weitere Infos hierzu finden Sie im Internet unter www.PocketPCMag.de. Natrlich gibt es auch Visual Basic fr Windows-Anwendungen. Dazu bentigen Sie die Entwicklungsumgebung Visual Studio .NET von Microsoft. Damit entwickeln Sie alles, von kleinen Anwendungen bis zu unternehmensweiten Datenbanksystemen. Der Fantasie sind dabei keine Grenzen gesetzt.

CHIP | OFFICE KOMPAKT

21

tun das Gleiche wie Sie. Der Unterschied liegt darin, dass Makros die Aufgabe sehr viel schneller erledigen und beraus zuverlssiger. Haben Sie eine Tabelle mit 500 Zahlen und wollen alle Zellen mit negativen Werten durch eine auffllige Hintergrundfarbe hervorheben, kann es schon mal sein, dass Sie eine Zahl vergessen. Mit einem Makro passiert dieser Fehler nicht.

Bereit zum Programmieren: Geben Sie in den Editor der VBAEntwicklungsumgebung den Programmcode ein.

Das Verhalten von Excel ereignisabhngig ndernEin weiterer Bereich, in dem Sie Excel mit Hilfe von VBA an Ihre Bedrfnisse anpassen knnen, ist das Verhalten von Excel als Reaktion auf verschiedene vorgegebene Ereignisse. So knnen Sie beispielsweise beim ffnen eines Arbeitsplatzes abhngig von der jeweiligen Auflsung des Bildschirms automatisch den richtigen Zoom-Faktor einstellen lassen. Ein weiteres Beispiel: Sie knnen die Titelzeilen einer Tabelle mit einem Makro hinterlegen, das dafr sorgt, dass die Tabelle immer nach dem jeweils angeklickten Kriterium sortiert wird, wenn der Benutzer einen Doppelklick auf die entsprechende Zelle macht. Sie knnen sogar, bevor der Benutzer ein Arbeitsblatt schliet, dieses Blatt automatisch und ohne Rckfrage speichern. Auf diese Weise sorgen Sie dafr, dass keine Daten verlorengehen, zugleich nehmen Sie dem Anwender ein paar Arbeitsschritte ab.

Kleine Anwendungen programmierenWenn Ihnen all diese vielfltigen Mglichkeiten nicht ausreichen, die Ihnen Makros und die Programmiersprache Visual Basic fr Applikationen erffnen, knnen Sie sogar mit Hilfe des Formular-Editors echte kleine Anwendungen selbst entwickeln. Dabei reicht die mgliche Palette von einfachen Eingabedialogen bis hin zu komplexen Programmen wie zum Beispiel einem Taschenrechner, dessen Rechenfunktionen einzig und allein von Ihrem Einfallsreichtum und Bedarf abhngen. Theoretisch lsst sich auf diese Weise sogar eine komplette Anwendung etwa ein Kontakt-Management erzeugen, bei der der Benutzer nicht einmal bemerkt, dass er eigentlich mit Excel arbeitet und das von Ihnen entwickelte Programm lediglich die Tabellenfunktionen der Tabellenverwaltung zum Speichern und Verwalten der jeweils eingegebenen Daten verwendet. Ingo BhmeCHIP | OFFICE KOMPAKT

22

VERSIONEN PROGRAMMIERUNG Makro-Rekorder LSUNGEN

|

TIPPS & TRICKS

Den Makro-Rekorder einsetzen

Lassen Sie Excel selbst programmierenAuf Heft-CD

Insbesondere fr Routinearbeiten sind Makros bestens geeignet. Oft mssen Sie sich nicht einmal selbst um die Programmierung kmmern. Zeichnen Sie die Arbeitsschritte einfach mit dem Makro-Rekorder auf.

E

gal ob Sie Zellen mit Zahlen ausfllen, bestimmte Symbolschaltflchen anklicken oder rasch durch Mens und Dialoge blttern: Mit Hilfe des MakroRekorders nimmt Ihnen Excel die Arbeit des Programmierens weitgehend ab. Das Ganze

funktioniert genauso, als wollten Sie mit einem herkmmlichen Kassettenrekorder ein Lied aus dem Radio aufnehmen. Sobald Sie die Aufnahmetaste des Makro-Rekorders drcken, protokolliert Excel in einem Makro jede von Ihnen durchgefhrte Aktion, bis

KNOW-HOW EditorEin Editor ist ein Programm, mit dem Sie den Programmtext, den sogenannten Quellcode, eingeben und bearbeiten knnen. Ein Editor bietet hnliche Funktionen wie eine typische Textverarbeitung, allerdings stehen Ihnen dabei keine Formatierungen wie zum Beispiel fette oder kursive Schrift zur Verfgung. Moderne Editoren kennen die jeweilige Programmiersprache und zeigen die Elemente der Sprache in verschiedenen Farben an, um Ihnen das Verstehen des Programmcodes und die Eingabe des Quellcodes zu erleichtern. So werden etwa im Visual-Basic-Editor reservierte Begriffe der Programmiersprache blau und Kommentare, die den Code einfach nur erklren, grn dargestellt.

Sie wieder auf die Taste Stopp drcken. Anschlieend steht Ihnen dieses Makro auf Mausklick oder Tastendruck zur Verfgung und wiederholt auf Wunsch beliebig oft alle Aktionen, die Sie whrend der Aufnahme durchgefhrt haben. Ein typisches Beispiel, bei dem der Makro-Rekorder wertvolle Dienste leistet, ist das Sortieren.

CHIP | OFFICE KOMPAKT

23

1

MAKRO-AUFZEICHNUNG STARTENSie Excel und laden Sie eine Adressdatei oder legen Sie eine neue Tabellenkalkulationsdatei wie im Bild links an. ffnen Sie nun das Men Extras und whlen Sie das Untermen Makro. Dort klicken Sie auf den Befehl Aufzeichnen. Tragen Sie einen aussagekrftigen Makronamen (hier: SortiereNachName) in das Textfeld ein. Achten Sie darauf, dass der Makroname keine Sonderzeichen und keine Leerzeichen enthlt. Klicken Sie jetzt in das Eingabefeld unter Tastenkombination und drcken Sie auf die Taste n. Auf diese Weise knnen Sie spter das Makro direkt ber die Tastenkombination Strg+n aufrufen. Klicken Sie auf die Schaltflche OK, um die Aufnahme zu beginnen.

R Starten

2

DIE SORTIERUNG DURCHFHRENgleicher Namen nach dem jeweiligen Vornamen sortiert werden. Markieren Sie die gesamte Tabelle, indem Sie auf das Kstchen ber der Zeile 1 und links von der Spalte A klicken. ffnen Sie das Men Daten. Whlen Sie den Befehl Sortieren. Klicken Sie im folgenden Dialog auf Liste enthlt berschrift. Whlen Sie als erstes Sortierkriterium unter Sortieren nach den Eintrag Nachname. Markieren Sie im Bereich Anschlieend nach das zweite Sortierkriterium Vorname. Nach diesem Kriterium wird sortiert, wenn die Nachnamen bereinstimmen. Das dritte Feld bentigen Sie nicht, und auch bei den Optionen Aufsteigend und Absteigend behalten Sie die Voreinstellung bei. Klicken Sie auf OK, um die Sortierung auszufhren. Beenden Sie die Aufnahme des Makros mit einem Klick auf die Stopp-Schaltflche, das ist das kleine Viereck im Dialog des Makro-Rekorders.CHIP | OFFICE KOMPAKT

R Nach dem Starten der Aufnahme sollten Sie Ihre Aktionen in Excel gut d u r c h d e n ke n , denn alles, was Sie jetzt tun, wird aufgezeichnet. In diesem Schritt soll die Tabelle zunchst nach dem Namen und innerhalb

24

VERSIONEN PROGRAMMIERUNG Makro-Rekorder LSUNGEN

|

TIPPS & TRICKS

3

DAS MAKRO BERPRFENdelt es sich um ein Kommentarzeichen. Alles, was dahintersteht, dient zur Kommentierung und Dokumentation des Quellcodes und wird von Visual Basic bei der Ausfhrung des Makros ignoriert. Der Befehl zur Markierung des Tabellenblattes lautet Cells.Select; die VB-Anweisung, um den markierten Bereich zu sortieren, heit Selection.Sort. Die Angaben, die nach dem Befehl stehen, dienen zur Festlegung der Sortierkriterien. In der Entwicklungsumgebung von Visual Basic knnen Sie das aktuell ausgewhlte Makro zu Testzwecken starten, indem Sie die Play-Taste drcken.

R Sobald Sie den Makro-Rekorder beenden, wird das aufgezeichnete Makro gespeichert und ist im Prinzip sofort einsatzbereit. Doch bevor Sie es blindlings starten, empfiehlt es sich, zumindest einen Blick auf den Quellcode zu werfen. Diese Aktion empfiehlt sich erstens, damit Sie sehen, wie die soeben durchgefhrten Befehle in Form von VisualBasic-Kommandos ausschauen, und zweitens, damit Sie berprfen knnen, ob Excel alle Vorgnge korrekt aufgezeichnet hat und ob Ihnen bei der Ausfhrung der einzelnen Schritte kein Fehler unterlaufen ist. ffnen Sie das Men Extras und dort das Untermen Makro. Whlen Sie den Befehl Visual Basic-Editor. Klicken Sie auf das Makro SortiereNachName. Die ersten vier Zeilen beginnen mit einem ' ; dabei han-

4

WEITERE MAKROS AUFNEHMEN

R Kehren Sie nun zu Excel und Ihrem Adress-Arbeitsblatt zurck. Wiederholen Sie die Schritte 1 bis 3 und legen Sie auf dieselbe Art Makros zum Sortieren nach dem Ort beziehungsweise nach der amtlichen Postleitzahl an.CHIP | OFFICE KOMPAKT

25

5

DAS MAKRO VON EXCEL AUS STARTEN

R Ist ein Makro erst einmal gespeichert, knnen Sie die Arbeit Excel berlassen. Um ein Makro zu starten also um die in diesem Makro gespeicherten Arbeitsschritte automatisch von Excel ausfhren zu lassen , stehen Ihnen verschiedene Mglichkeiten zur Verfgung. Bei einem Makro, das Sie hufig einsetzen, geht es am schnellsten, wenn Sie es ber die Tastenkombination aufrufen, die Sie ihm in Schritt 1 zugewiesen haben. Haben Sie fr ein Makro also zum Beispiel die Tastenkombination Strg+n festgelegt, so gengt in Zukunft ein Tastendruck, um die gespeicherten Aktionen abzurufen. Manche Makros bentigt man allerdings nur selten, so dass es sich nicht lohnt, sich dafr eine Tastenkombination einzuprgen. In

diesem Fall starten Sie das Makro ber das Men Extras. Whlen Sie dort das Untermen Makro und anschlieend den Eintrag Makros. Nun sehen Sie eine Liste aller aufgenommenen Makros, in der Sie einfach den gewnschten Eintrag markieren. Klicken Sie nun auf die Schaltflche Ausfhren, um das gewhlte Makro zu starten.

CHIP | OFFICE KOMPAKT

26

VERSIONEN PROGRAMMIERUNG Entwicklungsumgebung

LSUNGEN

|

TIPPS & TRICKS

Nun gehts los:Um Makros mit VBA zu programmieren, bentigen Sie eine andere Arbeitsumgebung als das bekannte Excel-Arbeitsblatt. Der VBA-Editor bietet alles, was Sie zum Programmieren brauchen.

14

1 2

3

V

isual Basic fr Applikationen ist eine vollwertige Entwicklungsumgebung mit zahlreichen Hilfestellungen, mit deren Untersttzung Sie komfortabel eigene Makros, neue Funktionen und sogar komplette Anwendungen programmieren knnen. Die Entwicklungsumgebung von Visual Basic fr Applikationen knnen Sie nicht direkt von Windows aus starten. Grund dafr ist, dass alle Funktionen und Makros innerhalb einer Excel-Datei gespeichert werden. Deshalb rufen Sie die Entwicklungsumgebung aus Excel heraus auf. Dazu whlen Sie im Men Extras den Punkt Makro und dann Visual Basic-Editor. In der Abbildung sehen Sie die Standardfenster. ber Ansicht knnen Sie weitere Fenster einblenden. Das wichtigste Fenster fr den Programmierer ist der Editor. Dabei handelt es sich um eine Art Textverarbeitung fr Programmierer. Hier geben Sie Programmcode ein und erstellen neue Makros oder benutzerdefinierte Funktionen. In der Projektansicht sehen Sie alle Objekte Ihrer Excel-Umgebung. Dazu zhlen alle offenen Tabellen. Ingo Bhme

13

12

CHIP | OFFICE KOMPAKT

27

DER VBA-EDITOR4 5 6

11 10

7

8

9

CHIP | OFFICE KOMPAKT

28

VERSIONEN PROGRAMMIERUNG Entwicklungsumgebung

LSUNGEN

|

TIPPS & TRICKS

BLITZ-TIPPSAusdrcke ausprobierenOb Sie nur mal gerade einen Ausdruck berechnen oder eine Anweisung testen wollen, bevor Sie sie dann im eigentlichen Makro verwenden: Immer ist der Direktbereich der Entwicklungsumgebung ein guter Ort zum Ausprobieren Ihrer Ideen. Geben Sie beispielsweise einmal den Ausdruck ? 1/3 in den Direktbereich ein und drcken Sie die Eingabetaste. Daraufhin erscheint in der nchsten Zeile das Ergebnis der Division. Darber hinaus knnen Sie im Direktbereich beliebige Methoden ausfhren lassen, zum Beispiel CELLS.Select, um alle Zellen des aktuellen Arbeitsblattes zu markieren.

Neues Modul einfgenber diese Schaltflche aktivieren Sie ein Men, um zum Beispiel ein neues Makro-Modul zu erstellen, in dem Sie beliebig viele Makros und Funktionen programmieren knnen bis hin zu einer eigenstndigen, komplexen Anwendung.

1

Arbeitsmappe speichernEin Klick auf diese Schaltflche speichert die Datei, die Sie in der Projektbersicht markiert haben. Zusammen mit einem ExcelArbeitsblatt werden auch automatisch die darin enthaltenen Makros gespeichert.

2

Steuerung der Makro-AusfhrungMit Hilfe dieser drei Tasten knnen Sie wie beim Kassettenrekorder ein Makro abspielen lassen (Taste links), es unterbrechen (mittlere Taste) und auch mittendrin beenden (Taste rechts). Das Makro, das Sie so steuern, muss im Editor sichtbar sein.

3

Excel hilft mit VorschlgenWenn Sie wahlweise im Editor selbst oder auch im Direktbereich den Namen eines Objekts, beispielsweise Active Workbook fr die aktuelle Arbeitsmappe, eingeben und direkt danach einen Punkt setzen, erscheinen in einer Auswahlliste alle Eigenschaften und Methoden dieses Objekts.

Kontextsensitive VBA-Hilfeber diese Schaltflche starten Sie die Hilfe von Visual Basic fr Applikationen. Wollen Sie zu einem bestimmten Befehl oder einem bestimmten Objekt Hilfe anfordern, markieren Sie es im Quelltext des Editors und drcken dann die Taste F1.

4

KNOW-HOW ObjektEin Objekt ist eine Sammlung von einzelnen Elementen, die unter einem gemeinsamen Namen zusammengefasst sind. So ist zum Beispiel eine Tabelle ein Objekt. In ihr enthalten sind jede Menge Zellen, Formeln, Zeilen- und Spaltenberschriften und vieles mehr. Jede Tabelle wiederum ist Bestandteil eines greren Objekts, nmlich der Arbeitsmappe, die wiederum Teil der Applikation Excel selbst ist.

ObjektauswahlHaben Sie in der Projektauswahl etwas anderes als ein Modul, also beispielsweise ein Tabelle, markiert und daraufhin dessen Programmcode mit einem Doppelklick in den Editor geladen, finden Sie in dieser Liste alle enthaltenen Hauptobjekte, zum Beispiel WorkSheet (Arbeitsblatt), wenn Sie eine Tabelle gewhlt haben.

5

Makros und EreignisseIn dieser Liste erscheinen wenn Sie als Objektauswahl (Allgemein) markiert haben alle Makros oder, falls Sie ein Objekt (beispielsweise Workbook) gewhlt haben,

6

CHIP | OFFICE KOMPAKT

29

alle Ereignisse dieses Objekts. Whlen Sie beim Workbook-Objekt beispielsweise das Ereignis Open (ffnen), knnen Sie an dieser Stelle all die Befehle eingeben, die beim ffnen der Arbeitsmappe ausgefhrt werden sollen.

ProjektbersichtIn der Projektbersicht erscheinen hierarchisch wie im Windows-Explorer geordnet alle Objekte einer Excel-Sitzung. Dazu gehren sowohl alle Arbeitsmappen samt ihrer zugehrigen Tabellen als auch alle ProgrammModule, die die Makros enthalten.

13

EditorDer Editor ist das Kernstck der VBA-Entwicklungsumgebung. Hier sehen Sie den Programmcode in Visual Basic zu allen Makros und Funktionen. Hier verndern Sie auch den Code oder fgen neue Befehle hinzu.

7

Wechsel zu ExcelMit dieser Schaltflche wechseln Sie schnell zu der aktuell in der Projektbersicht markierten Excel-Tabelle.

14

berwachungsausdrckeIn dieser Liste knnen Sie sich bei der zeilenweisen Ausfhrung eines Makros Zwischenergebnisse anzeigen lassen.

8

INFO

DirektbereichIm Direktbereich knnen Sie auf die Schnelle einmal einen Ausdruck ausprobieren, zum Beispiel einen Befehl. Wollen Sie das Ergebnis einer Berechnung sehen, fgen Sie vor dem Ausdruck ein Fragezeichen ein. Hier ein Beispiel: ? 123 * 445 / 7.

Die Objekthierarchie in ExcelExcel besteht aus Objekten mit Eigenschaften, wie beispielsweise bei einer Tabelle der Name. Diese Eigenschaften knnen Sie beim Programmieren abfragen und zum Teil auch verndern. Ein solches Objekt kann wiederum weitere Objekte

9

Eigenschaften-AuswahlDie Visual-Basic-Entwicklungsumgebung zeigt Ihnen, sobald Sie den Namen eines Objekts gefolgt von einem Punkt schreiben, eine Liste aller Eigenschaften und Methoden dieses Objekts an. Whlen Sie dann den Eintrag aus der Liste mit einem Doppelklick aus schon steht er im Code.

10

Aktuelle AusfhrungszeileWenn Sie ein Makro starten und dieses zum Testen Zeile fr Zeile ausfhren lassen, erscheint die aktuelle Zeile mit einem Pfeil markiert und gelb hinterlegt.

11

Eigenschaften-FensterIn diesem Fenster sehen Sie alle Eigenschaften des Objekts, das in der Projektbersicht markiert ist. Links in der Tabelle werden die Eigenschaftennamen und rechts davon deren Inhalt angezeigt.

12

beispielsweise die Zellen des Arbeitsblattes enthalten. Daneben kennen Objekte auch Arbeitsablufe wie etwa das Speichern beim Objekt Arbeitsmappe. Diese sogenannten Methoden knnen Sie beim Programmieren verwenden. In der Grafik sehen Sie exemplarisch einige Objekte (schwarz), Eigenschaften (blau) und Methoden (grn).

CHIP | OFFICE KOMPAKT

30

VERSIONEN PROGRAMMIERUNG Programmieren mit VBA

LSUNGEN

|

TIPPS & TRICKS

Auf Heft-CD

Einfhrung in die Programmierung

Lernen Sie das Delegieren!Im Grunde genommen kann ein Makro nichts, was Sie nicht auch knnten. Aber das kann es dafr sehr viel schneller und es lsst sich auch nicht etwa vom Telefon oder einem Besucher stren. Erfahren Sie in diesem Beitrag, aus welchen Bausteinen alle Makros zusammengesetzt sind.

KNOW-HOW QuelltextUnter dem Quelltext versteht man beim Programmieren das Programm, das der Entwickler in einer beliebigen Programmiersprache nach deren Regeln verfasst hat. In Visual Basic fr Applikationen wird der Quelltext in der Excel-Datei selbst zusammen mit den Tabellen gespeichert und kann deshalb auch nur ausgefhrt werden, wenn Sie diese Datei geladen haben.

P

rogrammieren diese Technik war frher nur Profis vorbehalten, die mit Bits und Bytes auf du und du standen. Aber Microsoft hat mit Einfhrung der Programmiersprache Visual Basic eine Brcke geschlagen, so dass auch ambitionierte Anwender Routineablufe automatisieren knnen. Whrend als Ergebnis bei der echten Programmierumgebung Visual Basic am Ende ein fertiges und eigenstndiges Programm herauskommt, lassen sich die Microsoft-Office-Produkte von Word ber Outlook bis Excel mit Hilfe der integrierten

CHIP | OFFICE KOMPAKT

31

Programmiersprache Visual Basic fr Applikationen (VBA) automatisieren und nach eigenem Bedarf erweitern. In diesem Beitrag wollen wir Ihnen die Grundzge der VBA-Programmierung nherbringen. Damit Sie die kleinen Beispielmakros dieses Grundlagenbeitrags nachvollziehen knnen, sollten Sie zuerst folgende Voraussetzungen schaffen: Starten Sie Excel mit einer neuen 1 Arbeitsmappe. Speichern Sie diese dann mit dem 2 Befehl Speichern unter im Men Datei unter dem Namen Grundlagen.xls in einem beliebigen Ordner. ffnen Sie den Visual Basic-Editor 3 ber den Menpunkt Extras, dann Makro und Visual Basic-Editor. Markieren Sie im Projektfenster den 4 Eintrag VBAProject (grundlagen. xls) und fgen Sie anschlieend ber den Menpunkt Einfgen, Modul ein neues Makro-Modul zu Ihrer Arbeitsmappe hin-

zu. Dieses Modul erscheint im aktuellen Projekt in dem neuen Ordner Module als Eintrag Modul1. Fhren Sie auf den Eintrag Modul1 5 einen Doppelklick aus. Es ffnet sich daraufhin im Editor-Fenster eine leere Quelltext-Datei (siehe Kasten links). Alle Makros, die wir auf den folgenden Seiten erlutern, knnen Sie in diesem Quelltext-Fenster eingeben, indem Sie wie in einer herkmmlichen Textverarbeitung den Programmtext eintippen. Keine Panik: Wir zeigen Ihnen, wie das geht.

Makros: Eine Folge von BefehlenEin Makro auch Prozedur, Unterprogramm oder Subroutine genannt ist eine Aneinanderreihung von einfachen Befehlen, die unter einem gemeinsamen Namen zusammengefasst sind. Wir werden im tglichen Leben stndig mit solchen Makros konfrontiert. Geh splen ist beispielsweise kCHIP | OFFICE KOMPAKT

32

VERSIONEN PROGRAMMIERUNG Programmieren mit VBA

LSUNGEN

|

TIPPS & TRICKS

ein solches Makro aus dem Alltag. Dahinter verbergen sich Anweisungen wie Heies Wasser einlaufen lassen, Das erste Geschirrstck ins Wasser halten, Abreiben und danach klarsplen, anschlieend Dasselbe mit dem nchsten tun und zum Schluss Alle Glser mit einem Tuch grndlich trockenreiben. Natrlich knnten Sie Ihrem Sprssling statt dieses Befehls auch die Schritte im Detail auftragen. Und wenn zum ersten Mal Geschirr gesplt werden soll, ist es auch sinnvoll, das zu tun. Doch sptestens beim dritten Mal ist es doch viel praktischer, dieses kurze Makro Geh splen auszufhren. Um im Text-Editor von Visual Basic fr Applikationen mehrere Befehle unter dem

Statt der Bezeichnung makroname tragen Sie den Namen ein, unter dem Sie die Befehle zusammenfassen wollen. Dabei mssen Sie sich an verschiedene Konventionen halten, die es bei der Vergabe von Makronamen und spter auch beim Bilden von Variablennamen zu beachten gibt. So darf ein Name in VBA nur aus Buchstaben, Ziffern und dem Unterstrich _ bestehen. Sonder- und Leerzeichen sind tabu. Die deutschen Umlaute drfen Sie zwar theoretisch verwenden, sollten dies aber vermeiden, falls Microsoft vielleicht in einer spteren Version von VBA nationale Sonderzeichen verbietet. Und zu guter Letzt: Das erste Zeichen eines Makronamens muss immer ein Buchstabe sein.

Bereits vorhandene Makros verwendenHaben Sie einen Sprssling, muss dieser hnlich wie Excel erst einmal jede Menge Anweisungen lernen. Geh splen ist nur eine davon. Eine andere lautet vielleicht Mach deine Hausaufgaben oder Jetzt kannst du spielen gehen. All diese Anweisungen knnen Sie wieder mit einem eigenen Namen belegen, etwa Juniors Terminplan fr den Nachmittag. Auch in Visual Basic ist eine Anweisung wahlweise etwas, das VBA bereits von Hause aus kennt oder etwas, das Sie bereits unter dem Namen eines Makros zusammengefasst haben. Jede weitere Anweisung wird in einem Visual-Basic-Programm in eine neue Zeile geschrieben. VBA selbst kennt bereits jede Menge Anweisungen. Eine dient beispielsweise dazu, einen kurzen Statusdialog mit einer Meldung anzuzeigen. So gibt beispielsweise das folgende Makro:

Das erste Makro: Dreimal Guten Tag unter einem Namen zusammengefasst.

Namen eines Makros zusammenzufassen, geben Sie diese zwischen den beiden folgenden Zeilen ein:Sub makroname() End SubCHIP | OFFICE KOMPAKT

33

Sub SagGutenTag() MsgBox "Guten Tag" MsgBox "Bonjour" MsgBox "Buenas Dias" End Sub

len, whlen Sie dort den Menpunkt Extras, dann Makro, Makros, markieren in der Liste den neuen Eintrag SagGutenTag mit einem Doppelklick und schon startet das Makro.

in drei aufeinanderfolgenden Dialogfenstern eine Begrung in Deutsch, Franzsisch und Spanisch aus. Statt der drei einzelnen Befehle mssen Sie also lediglich das Makro SagGutenTag ausfhren: Geben Sie das Makro genauso wie hier 1 angezeigt im Editor ein. Setzen Sie die Einfgemarke im 2 Makro an eine beliebige Stelle. Klicken Sie jetzt auf die Schaltflche 3 Makro ausfhren oder drcken Sie statt dessen die Funktionstaste F5, um das Makro umgehend zu starten. Hinweis: Wenn Sie das Makro von Ihrem Excel-Arbeitsblatt aus ausfhren wol-

Variablen als DatenContainer einsetzenBesonders wenn es darum geht, Ergebnisse zu berechnen, ist man beim Programmieren auf sogenannte Variablen angewiesen. Eine Variable ist ein Platzhalter fr einen variablen, also vernderbaren Wert. Das kann zum Beispiel das Ergebnis einer Berechnung sein, deren Werte sich immer wieder ndern. Variablen haben wie Makros einen Namen. Unter diesem Namen sprechen Sie die Variable an und weisen ihr beispielsweise einen Wert zu:Pi = 3.1415926

k

INFO

VBA-Befehle

verstehenweiter reduziert, und Sie sehen nur noch die Wrter aufgelistet, die in Kombination mit dem bereits eingegebenen Schlsselwort also Zufall auftreten. Wenn Sie dann im unteren Listenfeld ein Thema sehen, das zu Ihrer Frage zu passen scheint, klicken Sie dieses an; der zugehrige Inhalt erscheint rechts im Infobereich. Alle Funktionen und Befehle von VBA verfgen ber weitere Verweise auf hnliche oder thematisch verwandte Funktionen oder Beispiele im Quelltext. Diese Verweise sind jeweils in blauer Farbe dargestellt, und Sie knnen sie nachverfolgen, indem Sie sie anklicken.

Wie nahezu alle Programmiersprachen setzt auch VBA bei Schlsselwrtern auf die englische Sprache und US-amerikanische Konventionen. So lautet beispielsweise die Funktion, die eine Zufallszahl erzeugt, in VBA Rnd() (Englisch: Random = Zufall) und nicht wie in Excel selbst Zufallszahl(). Wenn Sie eine Funktion fr VBA suchen, starten Sie die Hilfe und geben Sie im Register Index den gewnschten Suchbegriff beispielsweise Zufall ein. Fhren Sie dann in der Liste der Schlsselwrter einen Doppelklick auf das gefundene Wort aus. Auf diese Art wird die Auswahl der Schlsselwrter

CHIP | OFFICE KOMPAKT

34

VERSIONEN PROGRAMMIERUNG Programmieren mit VBA

LSUNGEN

|

TIPPS & TRICKS

Makros rasch auswhlen: Von Excel aus knnen Sie Makros direkt ber das Men Extras und einen Ausfalldialog aufrufen. Der Dialog Makro listet alle verfgbaren Makros auf. Sie mssen nur noch das gewnschte Makro per Mausklick auswhlen.

Diese Anweisung bedeutet, dass Sie einer Variablen namens Pi, die Sie zur Kreisberechnung bentigen, den Wert 3.1415926 zugewiesen haben. Hinweis: Beim Programmieren verwendet man bei Zahlen immer den Punkt als Dezimaltrennzeichen, andernfalls kommt es zu einer Fehlermeldung.

Wenn Sie dann beispielsweise den Umfang eines Kreises berechnen wollen, der den Radius 10 cm hat, lautet die Zuweisung gem der geometrischen Formel:Umfang = 2 * Pi * 10

KNOW-HOW FunktionenMit Excel knnen Sie umfangreiche, komplizierte Berechnungen vornehmen, ohne dass Sie dazu groes mathematisches Fachwissen bentigen. Excel bringt schon zahlreiche Funktionen mit, und der FunktionsAssistent fhrt Sie Schritt fr Schritt durch die Formel. Sie tragen nur die jeweils abgefragten Werte und Bezge ein. Auf diese Weise wird auch die schwierigste Berechnung zum Kinderspiel.

Fr die Berechnung wird statt des Variablennamens im Programm der Wert verwendet, der in der jeweiligen Variablen steht. Und da das Ergebnis der Berechnung wieder einer Variablen zugeordnet wird, enthlt die Variable Umfang nach Ausfhrung dieser Anweisung wieder einen Wert, nmlich in diesem Fall den Kreisumfang 62,831852, was also knapp 63 Zentimetern entspricht. Und genauso wie Sie mit Hilfe der Anweisung MsgBox bereits mehrere Textzeilen nacheinander in jeweils einer Dialogbox ausgegeben haben, knnen Sie sich auch den Inhalt einer Variablen anzeigen lassen:MsgBox Umfang

CHIP | OFFICE KOMPAKT

35

Setzen Sie den Cursor innerhalb des Editors hinter das Ende des vorangegangenen Makros. Geben Sie dann das Makro mit den 2 folgenden Zeilen ein:

1

INFO

Kommentare einfgenAuch wenn Sie beim Programmieren noch wissen, was die einzelnen Anweisungen Ihres Makros bedeuten, sollten Sie Ihren Code kommentieren. Denn was heute noch klar ist, ist in ein paar Monaten schon nicht mehr prsent, und Sie fragen sich vielleicht, was der Sinn einzelner Anweisungen oder Variablen eigentlich sein soll. Bauen Sie sich fr die Zukunft Eselsbrcken, indem Sie kurze Erklrungen zu den wichtigsten Befehlen in Ihrem Quelltext eingeben. Diese Kommentare knnen Sie in jeder beliebigen Zeile Ihres Makros und sogar rechts von Codezeilen einfgen. Sie beginnen einen Kommentar mit dem Hochkommazeichen ('). Alles, was Sie nach diesem Zeichen schreiben, ignoriert Visual Basic bei der Ausfhrung des Makros. Um diese Anmerkungen von echtem VisualBasic-Code zu unterscheiden, werden Kommentare im Editor grn dargestellt.

Sub KreisTest() Pi = 3.1415926 Umfang = 2 * Pi * 10 MsgBox Umfang End Sub

Setzen Sie den Cursor innerhalb des Makros an eine beliebige Stelle und starten Sie es.

3

Funktionen: Makros, die Ergebnisse liefernEine besondere Form von Makros sind die sogenannten Funktionen (s. Kasten links unten). Indem Sie diese speziellen Makros programmieren, knnen Sie den Funktionsumfang von Excel erweitern. Zugegebenermaen besitzt Excel bereits jede Menge Funktionen, die Sie in Arbeitsblttern einsetzen knnen. Doch es gibt sicherlich einen Bereich, in dem auch Sie sich vielleicht schon einmal gewnscht htten, dass eine spezielle Funktion vorhanden wre. Und hier ist es VBA, mit dem Sie die Fhigkeiten von Excel noch weiter ausbauen knnen. Nehmen wir einmal an, Sie wollten eine Funktion, die die Kreiszahl Pi zurckliefert. Nennen Sie diese Funktion PI, so wrde im Gegensatz zu einem normalen Makro der globale Rahmen fr die Programmierung folgendermaen lauten:Function PI() End Function

Wie Sie sehen, besteht der erste Unterschied zwischen einem reinen Makro und einer Funktion darin, dass einmal das Schlsselwort Sub und einmal das Schlsselwort Function verwendet wird. Nun mssen Sie jedoch der Funktion auch noch klarmachen, dass sie wenn sie beispielsweise in einer Zelle des Arbeitsblattes steht einen Wert zurckliefern muss. Dazu verwendet eine Funktion eine ganz spezielle Variable, die denselben Namen trgt wie die Funktion selbst. Weisen Sie dieser Variablen einen Wert zu, ist das der Rckgabewert der Funktion. In unserem Falle wrde also die Zeile, die zwischen Function PI() und End Function steht, lauten: kCHIP | OFFICE KOMPAKT

36

VERSIONEN PROGRAMMIERUNG Programmieren mit VBA

LSUNGEN

|

TIPPS & TRICKS

PI = 3.1415926

Setzen Sie den Cursor innerhalb des Editors hinter das Ende des vorangegangenen Makros. Geben Sie dann das Makro wie folgt 2 im Editor ein:

1

Function PI() PI = 3.1415926 End Function

Wechseln Sie anschlieend zu Ihrem Excel-Arbeitsblatt. Markieren Sie im Arbeitsblatt eine beliebige Zelle, beispiels-

3

weise A1, und geben Sie dort die Formel =PI() ein. Sofort erscheint der Wert, den Sie innerhalb der Funktion der Variablen PI zugewiesen haben. Nun ist dies eine sehr statische Funktion, die immer denselben Ergebniswert liefert. So richtig interessant werden Funktionen eigentlich erst, wenn Sie sie variabel machen und einer Funktion wie bei den meisten integrierten Excel-Funktionen auch Parameter zur Berechnung bergeben. Nehmen wir zum Beispiel einmal an, Sie bruchten eine Funktion, die bei bergabe des Radius den Umfang eines Kreises berechnet. Dieser Funktion nennen wir sie

Eigene Funktionen nach Bedarf: Mit Hilfe von Visual Basic fr Applikationen knnen Sie Excel um beliebige Funktionen erweitern, die Sie fr Ihre Arbeit bentigen.

CHIP | OFFICE KOMPAKT

37

zutreffend KreisUmfang mssten Sie dann als vernderlichen Parameter den Kreisradius bergeben. Dazu ist erforderlich, dass Sie in VBA den oder die Parameter nach dem Funktionsnamen durch Kommas getrennt innerhalb der Klammern angeben. Dabei verwendet man wie auch bei Makros symbolische Namen, die dann innerhalb der Funktion als vernderliche Variablen eingesetzt werden knnen. Setzen Sie die Einfgemarke innerhalb 1 des Editors hinter das Ende des vorangegangenen Makros. Geben Sie dann die Funktion Kreis2 Umfang wie folgt ein:

Function KreisUmfang(Radius) KreisUmfang = 2 * PI() * Radius End Function

Wechseln Sie nach Eingabe der Funktion zu Ihrem Excel-Arbeitsblatt. Geben Sie dort beispielsweise in der Zelle A2 den Wert 10 ein und in der Zelle B2 rechts daneben die Formel =KreisUmfang(A2). Excel erkennt, dass diese Funktion nicht zum Repertoire gehrt, und verwendet deshalb die benutzerdefinierte Funktion, die Sie soeben im Modul eingegeben haben. Als Ergebnis wird der Umfang eines Kreises mit dem Radius 10 angezeigt. k

3

INFO

Berechnungsmethoden in VBAIn Excel stehen Ihnen bei Berechnungen die verschiedenen Rechenarten der Mathematik zur Verfgung. Neben den vier Grundrechenarten Multiplikation (*), Division (/), Addition (+) und Subtraktion () kennt VBA darber hinaus auch das Potenzieren (^). Und wie in der Mathematik gilt auch bei VBA die Regel Punktrechnung geht vor Strichrechnung. So wird der Variablen Ergebnis nach der BerechnungErgebnis = 5 + 4 * 10 Ergebnis = (5 + 4) * 10

Text in der Programmiersprache Zeichenketten genannt geben Sie stets mit doppelten Hochkommas (") umrahmt ein. Wollen Sie Text und Text oder Text und Zahlen kombinieren, dann verwenden Sie einen speziellen Operator: &. So zeigt die ZeileMsgBox "Das Ergebnis lautet" t & Ergebnis

der Wert 45 und nicht etwa 90 zugewiesen. Grund ist, dass zuerst die Multiplikation (4*10) ausgefhrt und erst danach die Zahl 5 addiert wird. Mit Klammern knnen Sie die Reihenfolge verndern. Soll also zuerst die Addition durchgefhrt werden, fgen Sie Klammern ein, und die Anweisung lautet:

eine Dialogbox mit dem Text Das Ergebnis lautet 90 an. Auch fr Zeichenketten knnen Sie Variablen einfgen.Anzeige= "Das Ergebnis lautet" t & Ergebnis MsgBox Anzeige

t bedeutet: Diese und die Folgezeile mssen in einer Zeile eingetippt werden.

CHIP | OFFICE KOMPAKT

38

VERSIONEN PROGRAMMIERUNG Programmieren mit VBA

LSUNGEN

|

TIPPS & TRICKS

Bedingte Ausfhrung innerhalb eines MakrosNicht immer wird ein Programm einfach nur von oben nach unten ausgefhrt. Oft ist es so, dass ein Ereignis wie zum Beispiel der Inhalt einer Variablen oder das Ergebnis einer Funktion darber entscheidet, ob der eine Teil des Quellcodes ausgefhrt wird oder der andere. Schauen wir uns das an einem praktischen Beispiel an: Eine der Systemfunktionen, die VBA standardmig kennt, erzeugt Zufallszahlen, die grer oder gleich 0 und kleiner als 1 sind. Mit dieser Funktion, die den Namen Rnd() (Random = engl. fr Zufall) trgt, kann man beispielsweise Zufallsszenarien in Excel simulieren oder sogar Spiele beispielsweise Mastermind oder das Ziehen von Lottozahlen programmieren. Bei einer noch simpleren Geschichte, nmlich einem Mnzwurf, ist das Ergebnis entweder Kopf oder Zahl. Ein solcher Mnzwurf lsst sich in wenigen Zeilen programmieren. Da wir wissen, dass die Funktion Rnd() als Ergebnis eine Zahl zwischen 0 und 1 zurckliefert, knnte man beispielsweise sagen: Wenn das Ergebnis der ZufallszahlenFunktion kleiner ist als 0,5 ist, dann zeigt

sich eine Dialogbox mit dem Text Kopf und ansonsten eine Dialogbox mit der Meldung Zahl. Eine solche Unterscheidung wird in Visual Basic mit Hilfe der Anweisung if (engl. fr wenn) realisiert. Diese lautet schematisch:If BEDINGUNG Then ANWEISUNGSBLOCK 1 Else ANWEISUNGSBLOCK 2 End If

Zunchst wird also eine Bedingung (siehe Kasten unten) geprft. Das kann irgendeine beliebige Aussage sein wie in unserem Beispiel, ob die Zufallszahl kleiner ist als 0,5. Die Abfrage knnte also lauten:If Rnd() < 0.5 Then

KNOW-HOW BedingungUnter einer Bedingung versteht man beim Programmieren eine Aussage, auf die man nur mit Ja oder Nein antworten kann. Ist die Antwort Ja, so ist die Bedingung im Sinne der Logik wahr. Ist sie Nein, ist der zugehrige logische Wert falsch.

Wenn dies der Fall ist, also wenn die zufllig erzeugte Zahl kleiner ist als 0,5, wird der Anweisungsblock 1 ausgefhrt, der wahlweise aus einer oder mehreren Anweisungen bestehen kann. Ist das Ergebnis hingegen 0,5 oder grer, wird der Anweisungsblock 2 ausgefhrt, der nach dem Schlsselwort Else (engl. fr sonst) steht. Somit sieht das komplette Makro, das unseren Mnzwurf simuliert, folgendermaen aus:Sub KopfOderZahl() If Rnd() < 0.5 Then MsgBox "Kopf" Else MsgBox "Zahl" End If End Sub

CHIP | OFFICE KOMPAKT

39

Immer im Bilde: Wenn Sie ein Makro Schritt fr Schritt durchlaufen, knnen Sie sich jederzeit den Inhalt der im Makro verwendeten Variablen anzeigen lassen.

Wird das Makro von oben nach unten ausgefhrt, dann wird entweder MsgBox Kopf oder MsgBox Zahl ausgefhrt, aber niemals beide.

sehr hnlichen Vorgang handelt, kann man VBA anweisen: Fhre dreimal folgende Zeilen aus .... Dazu kennt VBA die Anweisung While (engl. fr solange):While BEDINGUNG ANWEISUNGSBLOCK Wend

Quellcode wiederholt ausfhren lassenVielleicht soll jetzt die Mnze dreimal geworfen werden. Nun knnte man hingehen und den eben programmierten Code einfach dreimal hintereinander setzen. Wenn aber jetzt pltzlich gewnscht wird, dass man zehnmal oder noch fter werfen will, dann wird der Code bald sehr unbersichtlich. Da es sich aber immer wieder um einen

Genau wie bei der If-Anweisung folgt dem Schlsselwort While eine Bedingung, also ein Ausdruck, der entweder wahr oder falsch sein kann. Solange er wahr ist, wird der jeweilige Anweisungsblock immer wieder erneut ausgefhrt. kCHIP | OFFICE KOMPAKT

40

VERSIONEN PROGRAMMIERUNG Programmieren mit VBA

LSUNGEN

|

TIPPS & TRICKS

Wrden Sie die Mnzwrfe in natura mitzhlen, wrden Sie wahrscheinlich anfangen, beim ersten Durchgang ihren Daumen zu heben, beim zweiten den Zeigefinger und so weiter. Diese Funktion Ihrer Finger bernimmt in unserem Makro eine Variable. Diese wird zunchst mit dem Wert 1 vorbelegt, man spricht in der Programmierung vom Initialisieren.

Zaehler = 1

Auf diese VBA-Anweisung folgt die Schleife, die nunmehr so oft durchlaufen werden soll, solange der Inhalt der Variablen Zaehler kleiner oder gleich 3 ist damit nach drei Mnzwrfen Schluss ist:While Zaehler 3 Then Cells(Target.Row, 2).Value = t Cells(Target.Row, 2).Value - 1 Cancel = True End If

Auf diese Weise bekommen Sie schnell ein Gespr dafr, was Sie tun knnen, um auf bestimmte Ereignisse zu reagieren, und welche Ereignisse Sie verwenden knnen, um Ihre Arbeitsbltter so einfach bedienbar wie nur mglich zu machen. Ingo Bhme

ein. Der einzige Unterschied zum vorherigen Makro liegt darin, dass die Eigenschaft Value der Zelle in Spalte 2 nicht um den Wert 1 erhht, sondern wieder um den Wert 1 vermindert wird.

Alle Objekt-Ereignisse von Excel im berblickNun fllt es insbesondere dann, wenn man mit der Programmierung von Makros beginnt, nicht leicht, sich vorzustellen, wann welche Ereignisse eintreten und wie hufig das der Fall ist. Um diese Zusammenhnge bersichtlicher darzustellen, haben wir fr Sie eine spezielle Arbeitsmappe zusammengestellt, die alle Ereignisse auf einen Blick protokolliert und benennt. ffnen Sie dazu die Tabelle AutoMakros.xls, die Sie auf der Heft-CD vorfinden. Im ersten Arbeitsblatt sehen Sie, sobald ein Ereignis der Arbeitsmappe eintritt, sogleich, wie es heit, und in der zweiten Spalte daneben die genaue Uhrzeit, wann es eingetreten ist. Sollte mehrmals hintereinander ein und dasselbe Ereignisse eintreten, wird in der dritten Spalte angezeigt, wie oft es bereits seit ffnen der Tabelle eingetreten ist. Dasselbe gilt fr die Tabellenereignisse im zweiten Arbeitsblatt. Navigieren Sie hier ein wenig herum, tragen Sie Werte in Zellen ein, klicken Sie mit der Maus einfach, doppelt oder mit der rechten Maustaste und sehen Sie dabei zu, wie die verschiedenen Ereignisse eintreten.

Oben: In der Arbeitsmappe treten Ereignisse ein, die fr smtliche Tabellenbltter gleichermaen gelten. Unten: Fr jedes einzelne Tabellenblatt knnen Sie auf Ereignisse wie Doppelklick oder Zelleingaben reagieren.

CHIP | OFFICE KOMPAKT

62

Excel erweitern: Eigene Funktionen erzeugen

Auf Heft-CD

Excel geht zur SchuleExcel kann vieles aber nicht alles. Doch Microsofts Rechenknstler ist von Hause aus lernbegierig. Helfen Sie Excel, seinen Wissenshorizont individuell zu erweitern.

KNOW-HOW Code-ModulEin Code-Modul ist in Excel ein Teil der Arbeitsmappe wie auch Tabellen und Diagramme. Jedoch knnen Sie ein Code-Modul nur im Visual-Basic-Editor sehen. Es erhlt alle Funktionen und Makros der Arbeitsmappe. Hier knnen Sie nachlesen, aus welchen Elementen Funktionen aufgebaut sind, also wie das Code-Modul genau aussieht.

E

xcel kennt von Hause aus eine Menge Funktionen. Manche dienen dazu, spezielle Berechnungen durchzufhren, andere ermitteln exakte Datums- und Zeitangaben. Fr viele Anwendungen ist somit das Arbeitswerkzeug vorhanden, um mit Microsofts Allroundtalent die vielfltigsten Situationen in der Arbeit oder der Freizeit anzugehen. Nun konnten jedoch die Entwickler bei Microsoft nicht jede noch so verwegene Situation, in der Excel eingesetzt werden knnte, erahnen. Da gibt es zum

CHIP | OFFICE KOMPAKT

Foto/Illustration: E.Schenk-Panic

VERSIONEN PROGRAMMIERUNG Eigene Funktionen LSUNGEN

|

TIPPS & TRICKS

63

Beispiel Architekten, die mit Excel das Aufma berechnen wollen. Da gibt es Sportvereine, die mit Hilfe der Tabellenkalkulation die Leistungen ihrer Mitglieder verwalten. Da gibt es Freiberufler, die anhand von Excel-Tabellen ihre Arbeitszeit abrechnen. Und alle haben spezielle Bedrfnisse, was den Funktionsumfang von Excel angeht. Diese Problematik hat Microsoft relativ schnell erkannt, und seit der Version 5 (Excel 95) knnen Anwender und Programmierer Excel mit Hilfe von benutzerdefinierten Funktionen erweitern. Diese Funktionen knnen nach dem Erstellen im Arbeitsblatt genauso eingesetzt werden wie die von Microsoft implementierten. In diesem Beitrag lernen Sie die Mglichkeiten kennen, die benutzerdefinierte Excel-Funktionen bieten.

Makro-Modul zu Ihrer Arbeitsmappe hinzu. Dieses erscheint in dem aktuellen Projekt in dem neuen Ordner Module als Eintrag mit dem Namen Modul1. Fhren Sie auf Modul1 einen Dop5 pelklick aus. Es ffnet sich im EditorFenster eine neue leere Quelltext-Datei.

Eine einfache Funktion: Die Lottozahlen ziehenDie erste Funktion dieses Beitrags soll eine zufllige Lottozahl also eine Zahl zwischen 1 und 49 ziehen. Tragen Sie im Visual-Basic-Editor zu1 nchst die ZeileFunction LottoZahl()

Erste Vorbereitung: Den VBA-Editor startenZunchst mssen Sie in der Arbeitsmappe ein neues Code-Modul (siehe Kasten links) erzeugen. Dort tragen Sie alle Funktionen ein somit sind diese Funktionen in der gesamten Arbeitsmappe bekannt. Starten Sie Excel mit einer neuen 1 Arbeitsmappe. Speichern Sie sie ber Datei und 2 Speichern unter unter dem Namen Funktionen.xls in einem beliebigen Ordner auf dem Rechner. ffnen Sie den Visual-Basic-Editor 3 ber den Menpunkt Extras, Makro und Visual Basic-Editor. Markieren Sie im Projektfenster den 4 Eintrag VBAProject (Funktionen. xls) und fgen Sie anschlieend ber den Menpunkt Einfgen, Modul ein neues

ein und beenden Sie die Eingabe der Zeile durch Drcken der Eingabetaste. Anschlieend vervollstndigt Visual Basic automatisch die Definition der Funktion:End Function

2

Als erstes erzeugen Sie eine Zufallszahl mit der Zeile:

zahl = Rnd()

Diese Zufallszahl liegt immer zwischen 0 und 1, wobei 1 niemals erreicht wird. Die grtmgliche Zufallszahl ist also 0,999... Wenn Sie den Inhalt der Variablen 3 zahl mit dem Faktor 49 modifizieren, erhalten Sie danach eine Zahl zwischen 0 und 48,999...zahl = zahl * 49CHIP | OFFICE KOMPAKT

k

64

VERSIONEN PROGRAMMIERUNG Eigene Funktionen LSUNGEN

|

TIPPS & TRICKS

Excel als Lottofee: Mit der Funktion Lottozahl erzeugen Sie im Handumdrehen Zufallszahlen zwischen 1 und 49. Viel Glck bei der nchsten Ziehung!

Addieren Sie die Zahl 1 hinzu, nimmt der Inhalt der Variablen einen Wert an zwischen 1 und 49,999...

4

zahl = zahl + 1

So wie Excel die Funktion GanzZahl() zur Verfgung stellt, um die Nachkommastellen einer Zahl einfach abschneiden zu knnen, bietet Ihnen auch VBA diese Technik fr Makros an. Hier lautet der Name dieser Funktion Int() (englisch integer = ganze Zahl).

5

Speichern Sie die Arbeitsmappe und damit auch das gerade eingegebene Code-Modul. Tragen Sie dann in eine beliebige Zelle des Arbeitsblatts die Formel =LottoZahl() ein. Als Ergebnis erhalten Sie eine zufllige Lottozahl zwischen 1 und 49 die Berechnungen Ihrer Funktion. Ist die Lottozahl gezogen, bleibt das Ergebnis so lange erhalten, bis die Funktion erneut berechnet wird. Das ist etwa der Fall, wenn Sie die Formel in der Zelle ndern.

7

zahl = Int(zahl)

Umsatzsteuer automatisch berechnenNormalerweise wird an eine Funktion ein oder mehrere Parameter bergeben. Ein solcher Parameter ist das, was Sie in einer Excel-Formel in Klammern und jeweils durch Semikolon getrennt eingeben. Lautet beispielsweise die Formel =Sin(5), so ist der Name der Funktion Sin (fr die Winkelfunktion Sinus), der Parameter lautet 5. Schreiben Sie selbst eine Funktion, die Parameter fr ein sinnvolles Ergebnis bentigt, dann geben Sie diese in Klammern nach

Durch Verwenden dieser Funktion 6 enthlt die Variable zahl an dieser Stelle nur noch ganzzahlige Werte zwischen 1 und 49. Um der Funktion mitzuteilen, dass genau dies das Funktionsergebnis sein soll, weisen Sie diesen Wert der speziellen Variablen zu, die denselben Namen trgt wie die Funktion selbst:LottoZahl = zahlCHIP | OFFICE KOMPAKT

65

dem Funktionsnamen jeweils durch ein Komma getrennt an. Um aus einem Preis fr Endverbrau1 cher die blichen 16 Prozent Mehrwertsteuer herauszurechnen, geben Sie die folgenden Programmzeilen ein:Function Netto(Betrag)

jede andere Variable zugreifen. Somit lautet die Berechnung fr das Funktionsergebnis:Netto = Round(Betrag / 1.16, 2)

VBA ergnzt diesen Eintrag nach dem Drcken der Eingabetaste automatisch um das Funktionsende End Function. Auf den Parameter mit der Bezeich2 nung Betrag knnen Sie wie auf

Die bereits vordefinierte VBA-Funktion Round rundet einen numerischen Wert auf die Anzahl der Stellen, die die mit dem zweiten Parameter in diesem Falle 2 angegeben werden. Diese Funktion entspricht der Tabellenfunktion Runden, die Sie von Excel-Arbeitsblttern her kennen. Die umgekehrte Variante, um zu 3 einem Nettobetrag den Mehrwert- k

INFO

Gltigkeit von FunktionenExcel-Funktionen wie Summe oder Mittelwert knnen Sie grundstzlich in allen neuen Arbeitsmappen verwenden. Funktionen, die Sie in einer Arbeitsmappe selbst programmieren, knnen Sie hingegen nur in dieser Arbeitsmappe einsetzen. Die Funktion Netto aus unserem Beispiel zur Berechnung der Umsatzsteuer ist also nur und ausschlielich innerhalb der Excel-Datei Funktionen.xls verfgbar. Wenn Sie den Aufruf =Netto(116) hingegen in einem anderen Arbeitsblatt verwenden, werden Sie in der Zelle nur die Fehlermeldung #NAME? zu sehen bekommen, weil Excel selbst (ausserhalb einer Arbeitsmappe mit entsprechender Funktionsdefinition) diesen Funktionsnamen nicht erkennt. Wollen Sie Ihre Funktionen allen Arbeitsmappen zugnglich machen, mssen Sie sie in einer sogenannten Add-In-Vorlage zusammenfassen. Unbekannte Funktion: Bei einer solchen Fehlermeldung hat Excel die angegebene Funktion nicht vorgefunden.

CHIP | OFFICE KOMPAKT

66

VERSIONEN PROGRAMMIERUNG Eigene Funktionen LSUNGEN

|

TIPPS & TRICKS

SteuerProfi: Mit Hilfe der Funktionen Brutto() und Netto()" ist der Umgang mit der Mehrwertsteuer ein Kinderspiel. Sie geben die passende Formel ein, den Rest besorgt Excel.

steuerbetrag hinzuzufgen, funktioniert auf vergleichbare Weise mit ganz hnlichen Eingaben ber eine Funktion:Function Brutto(Betrag) Brutto = Round(Betrag * 1.16, 2) End Function

MwStvonBrutto = Betrag - Netto(Betrag) End Function

Genormte Schreibweise automatisch berprfenAber nicht nur fr mathematische Berechnungen sind Funktionen geeignet, sondern insbesondere zum Bearbeiten von Zeichenketten, also beispielsweise Namen oder Ortsangaben. In der Praxis kommt es hufig vor, dass in einer Namensliste die Gro-/ Kleinschreibung bei den Eintrgen nicht immer stimmt. An dieser Stelle kann eine Funktion helfen, die folgendermaen vorgeht: Sie berprft jedes einzelne Zeichen der Eingabe und schreibt den ersten Buchstaben der Eingabe und jeweils den ersten Buchstaben nach einem Leerzeichen gro, alle anderen klein. Geben Sie zunchst den Namen der 1 Funktion nennen wir sie einfach Normname im Funktionskopf ein:

Wollen Sie den Betrag der Mehrwertsteuer aus einem Brutto- oder Nettopreis ermitteln, knnen Sie auf die beiden Funktionen auch innerhalb von VBA zurckgreifen. Dazu erzeugen Sie folgendes Code-Modul, das Ihnen dann wahlweise beide Berechnungen ermglicht. Sie mssen dann eigentlich nur noch darauf achten, dass Sie nicht versehentlich einen falschen Betrag fr die Berechnung angeben:

4

Function MwStvonNetto(Betrag) MwStvonNetto = Brutto(Betrag) - Betrag End Function Function MwStvonBrutto(Betrag)CHIP | OFFICE KOMPAKT

67

Stets korrekt: Egal, wie Sie den Namen in aller Hektik eingegeben haben, die Funktion Normname() macht daraus blitzschnell eine genormte Schreibweise.

Function Normname(Name)

wodurch VBA automatisch die ZeileEnd Function

in den Code einfgt. Innerhalb der Funktion mssen Sie anschlieend noch einige Variablen initialisieren. Mit

2

gro oder klein geschrieben werden soll. Diese Variable soll den Wert 1 annehmen, wenn das nchste Zeichen gro geschrieben, und den Wert 0, wenn das nchste Zeichen klein geschrieben werden soll. Und da das erste Zeichen in einem Namen immer gro geschrieben wird, lautet die Initialisierung der Variablen:gross = 1

Ergebnis = ""

legen Sie fest, dass das vorlufige Ergebniss der Funktion eine leere Zeichenkette ist. Als nchstes verwenden Sie eine Variable mit dem Namen I, die in der Funktion als Zhler fr die Zeichen der Zeichenkette dient.I = 1

Die Schleife innerhalb der Funktion wird so lange durchlaufen, wie der Zhler I kleiner ist als die Anzahl der Zeichen, die der Parameter Name enthlt. Die Zeichenzahl liefert die VBA-Funktion Len.

3

While I 48) + 6 - ((Jahr t + Jahr \ 4 + D + (D > 48) + 1) Mod 7) End Function

drckter linker Maustaste nach unten. Lassen Sie die Maustaste wieder los, sobald neben dem Mauszeiger 2018 angezeigt wird. Beschriften Sie diese Spalte in der Zelle A1 mit Jahr. Geben Sie anschlieend in die Zelle 3 B2 die Formel =Ostersonntag(A2) ein und beschriften Sie anschlieend die Spalte in der Zelle B1 mit Ostersonntag. Markieren Sie die Zelle B2 und 4 kopieren Sie die Formel ber den Menpunkt Bearbeiten, Kopieren in die Zwischenablage von Windows. Markieren Sie mit der Maus die 5 Zellen B3 bis B30. Fgen Sie die kopierte Formel ber 6 den Menpunkt Bearbeiten, Einfgen aus der Zwischenablage in die markierten Zellen ein. Die Zellbezge passen sich automatisch an. Markieren Sie in der Spalte B die 7 Ergebnisse der Osterformel. Whlen Sie im Men Format den Eintrag Zellen.

Tragen Sie nun im Excel-Arbeitsblatt ab Zelle A2 fortlaufend untereinander bis A30 die Jahreszahlen ab 1991 bis 2018 ein. Dazu geben Sie einfach die ersten beiden Zahlen untereinander in die Zellen A2 und A3 ein. Markieren Sie die beiden Zellen mit der Maus. Klicken Sie auf den Punkt an der rechten unteren Ecke der Markierung, und ziehen Sie den Markierungsrahmen mit ge-

2

Ostern als Richtwert: Viele kirchliche Feiertage in der ersten Hlfte des Jahres sind von Ostern abhngig und knnen so leicht mit einer Formel berechnet werden.

t bedeutet: Diese Zeile und die Folgezeile mssen in einer Zeile eingegeben werden.CHIP | OFFICE KOMPAKT

81

Aktivieren Sie dort das Register Zahlen. Markieren Sie nun als Kategorien den Eintrag Datum und whlen Sie dann in der Liste rechts das Datumsformat, das Ihnen am besten gefllt.

Genau sieben Wochen nach Ostern ist Pfingsten. Daraus ergibt sich fr die Berechnung des Pfingstsonntags folgende einfache Funktion:

4

Function Pfingsten(Jahr)

Feiertage, die direkt von Ostern abhngenAusgehend vom Datum der Ostertage lassen sich verschiedene andere Feiertage ganz einfach berechnen. Um das Datum fr den Rosenmontag 1 zu berechnen, der 48 Tage vor dem Ostersonntag liegt, geben Sie in VBA die folgende Funktion ein:Function Rosenmontag(Jahr) Rosenmontag = OsterSonntag(Jahr) - 48 End Function

Pfingsten = OsterSonntag(Jahr) + 49 End Function

Der letzte Feiertag, der direkt von Ostern abhngt, ist Fronleichnam. Er liegt genau 60 Tage nach dem Ostersonntag und fllt, ebensowie Christi Himmelfahrt, immer auf einen Donnerstag.

5

Function FronLeichnam(Jahr) FronLeichnam = t OsterSonntag(Jahr) + 60 End Function

Und ebenso wird der Karfreitag vom Ostersonntag abgeleitet. Er liegt zwei Tage vor Ostern:

2

Smtliche Feiertage um Weihnachten berechnenNeben Ostern ist in der christlichen Kirche das Weihnachtsfest der zweite wichtige Fixpunkt im Jahr. Auch an diesem Fest orientieren sich zahlreiche weitere Feiertage. Im Gegensatz zu Ostern ist jedoch Weihnachten immer exakt am 24. Dezember. Nur die davon abgeleiteten Feiertage variieren, weil sie einem Wochentag zugeordnet sind. Von daher orientieren sich smtliche von Weihnachten abhngige Feiertage am ersten Advent, der laut Definition immer auf einen Sonntag fllt. Der vierte Advent ist immer der letzte 1 Sonntag vor dem 25. Dezember. Das bedeutet, dass Sie zunchst einmal eine Variable erstellen mssen und dieser das Datum von Weihnachten zuordnen. Dazu stellt kCHIP | OFFICE KOMPAKT

Function Karfreitag(Jahr) Karfreitag = OsterSonnt