Sie sind auf Seite 1von 191

2.

Office-Kompakt-Ausgabe 04

12,95

64140

3 Alle Top-Tipps fr Excel


Schneller & 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

EDITORIAL

Praxis,Tipps & Lsungen fr jedes Excel


Diese 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; avogelsang@chip.de; Fax: (089) 74642-368

IMPRESSUM
Chefredakteur: 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: cbertsch@vogelburda.com) 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

VERSIONEN

PROGRAMMIERUNG

LSUNGEN

TIPPS & TRICKS

INHALT

Excel
97 2000 2002 2003
VERSIONEN
8 Neues muss nicht besser sein: Alle Excel-Versionen
im berblick wann lohnt der Umstieg?

14 Spezialist fr Teamarbeit: Excel 2003 in der Praxis


alle wichtigen Neuerungen ausfhrlich erklrt

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

22 Lassen Sie Excel selbst programmieren: So zeichnen


Sie 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 eigene
Anwendungen mit dem Formular-Editor

CHIP | OFFICE KOMPAKT

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

86 So rechnet der Fiskus: CHIP zeigt Ihnen, wie Sie Ihre


Steuerschuld 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 Sie


per Biorhythmus-Diagramm Ihre Befindlichkeit

110 Heiraten spart Steuern: Ein Diagramm Ihrer


Einkommensteuer 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 & TRICKS


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

6 Inhalt der Heft-CD: Top-Tools fr Excel und Office


CHIP | OFFICE KOMPAKT

VERSIONEN

PROGRAMMIERUNG

LSUNGEN

TIPPS & TRICKS

CD-INHALT

Excel 97, 2000, 2002, 2003

Vorlagen und Tools fr alle Versionen


Excel 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 Programme


Um 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

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-Anwender


OpenOffice 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 Ersatz


Erkennt 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.

VERSIONEN News PROGRAMMIERUNG

LSUNGEN

TIPPS & TRICKS

Excel-Versionen im berblick

NEUES
muss nicht besser sein
Der 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.

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-

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 Paket


Microsoft 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 Bedienung


Einfach 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. k
CHIP | 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 bei
CHIP | 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 Vorbehalt


Sie 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 Vollmuth
Schnelleres 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-Arbeit
Fr 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.

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 verwenden
Stellen 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.

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 gleichzeitig
CHIP | 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 vergleichen
In 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 Tabellen
CHIP | 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 Profis


Wirkliche 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 Vollmuth
CHIP | OFFICE KOMPAKT

18

VERSIONEN PROGRAMMIERUNG Die Fhigkeiten von VBA

LSUNGEN

TIPPS & TRICKS

Die Fhigkeiten von VBA

Die vielen Gesichter von VBA


VBA 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.

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 Programmiersprache


Visual 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-In
Als 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 programmieren


Vielleicht 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 eingeben


Wenn 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 lassen


Neben 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 Gelegenheiten


Ob 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 ndern


Ein 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 programmieren


Wenn 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 Bhme
CHIP | OFFICE KOMPAKT

22

VERSIONEN PROGRAMMIERUNG Makro-Rekorder LSUNGEN

TIPPS & TRICKS

Den Makro-Rekorder einsetzen

Lassen Sie Excel selbst programmieren


Auf 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.

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 Editor
Ein 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

MAKRO-AUFZEICHNUNG STARTEN
Sie 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

DIE SORTIERUNG DURCHFHREN


gleicher 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

DAS MAKRO BERPRFEN


delt 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-

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

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

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-EDITOR
4 5 6

11 10

CHIP | OFFICE KOMPAKT

28

VERSIONEN PROGRAMMIERUNG Entwicklungsumgebung

LSUNGEN

TIPPS & TRICKS

BLITZ-TIPPS
Ausdrcke ausprobieren
Ob 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 einfgen


ber 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.

Arbeitsmappe speichern
Ein 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.

Steuerung der Makro-Ausfhrung


Mit 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.

Excel hilft mit Vorschlgen


Wenn 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-Hilfe
ber 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.

KNOW-HOW Objekt
Ein 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.

Objektauswahl
Haben 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.

Makros und Ereignisse


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

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.

Projektbersicht
In 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

Editor
Der 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.

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

14

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

INFO

Direktbereich
Im 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 Excel


Excel 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

Eigenschaften-Auswahl
Die 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 Ausfhrungszeile
Wenn 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-Fenster
In 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 Quelltext
Unter 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.

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 Befehlen


Ein 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 k
CHIP | 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 verwenden


Haben 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 Sub
CHIP | 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 einsetzen


Besonders 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

INFO

VBA-Befehle

verstehen
weiter 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 Funktionen
Mit 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:

INFO

Kommentare einfgen
Auch 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.

Funktionen: Makros, die Ergebnisse liefern


Eine 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: k
CHIP | 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:

Function PI() PI = 3.1415926 End Function

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

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

INFO

Berechnungsmethoden in VBA
In 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 Berechnung
Ergebnis = 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 Zeile
MsgBox "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 Makros


Nicht 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 Bedingung
Unter 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 lassen


Vielleicht 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. k
CHIP | 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

INFO

Makro-Verarbeitung im Detail mitverfolgen


Wenn Sie ein Makro starten, wird dieses Zeile fr Zeile nacheinander ausgefhrt. In der Abbildung sehen Sie am Beispiel des Makros MuenzeWerfen, wie solch ein Ablauf vonstatten geht. Die Zahlen am linken Rand stellen die Nummer der Ausfhrungszeile dar. Die Farben dienen lediglich dazu, den Durchlauf durch die Schleife zu markieren. Als erster Befehl des Makros Muenze Werfen wird die Variable Zaehler mit dem Wert 1 vorbelegt. Dann wird im Kopf der Schleife geprft, ob der Inhalt der Variablen Zaehler kleiner oder gleich 2 ist. Dies ist der Fall, und deshalb werden die Anweisungen bis Wend ausgefhrt. Als erstes (4) kommt die Anweisung, das Makro KopfOderZahl zu starten. Dadurch verzweigt die Ausfhrung zur ersten Zeile dieses Makros (5) und zeigt wie bereits besprochen je nach den Ergebnissen der Zufallszahl entweder Kopf oder Zahl an. Sobald dieses Unterprogramm zu der Anweisung End Sub (10) gelangt, springt es zurck zu der Stelle, von wo aus KopfOderZahl aufgerufen wurde, und nimmt in der nchsten Zeile (11) seine Arbeit wieder auf. Hier wird der Inhalt der Variablen Zaehler um 1 erhht, hat also nun den Wert 2. Das Schlsselwort Wend (12) veranlasst die Ausfhrung, zum Beginn der Schleife (13) zurckzuspringen. Da die Bedingungen Zaehler <= 2 weiterhin zutrifft Zaehler hat ja den Wert 2 , werden die Anweisungen in der Schleife nochmals durchlaufen, und Kopf OderZahl wird erneut aufgerufen (14). Kehrt die Verarbeitung aus dem Unterprogramm

zurck (22), wird erneut die Variable um den Wert 1 erhht: Sie ist nun 3. Die erneute Prfung (24), ob der Inhalt von Zaehler weiter kleiner oder gleich zwei ist, schlgt fehl, und mit einem abschlieenden End Sub (25) endet die Ausfhrung.

CHIP | OFFICE KOMPAKT

41

Im Anweisungsteil der Schleife wird zunchst KopfOderZahl aufgerufen und danach die Zhlervariable um 1 erhht:
KopfOderZahl Zaehler = Zaehler + 1

Und schlielich wird die Schleife wieder geschlossen:


Wend

Zusammen sieht das dann so aus:


Sub MuenzeWerfen() Zaehler = 1 While Zaehler <= 3 KopfOderZahl Zaehler = Zaehler + 1 Wend End Sub

Sobald Sie das Makro MuenzeWerfen starten, wird dreimal hintereinander ein Statusdialog mit der Meldung Kopf oder Zahl angezeigt. Was mssen Sie ndern, wenn die Mnze zehnmal geworfen werden soll? Alles, was Sie tun mssen, ist die 3 in der Schleifenbedingung fr den Zhler in die Zahl 10 zu ndern.

Fehler im Makro durch Debuggen aufspren


Debuggen heit wrtlich bersetzt Entwanzen. Damit bezeichnet man den Vorgang, bei dem ein Programm oder Makro schrittweise berprft wird, etwa zur Fehlersuche. Und Fehler in einer Software nennt man in der Fachsprache der EDV Bug (Wanze), weil angeblich einmal im Rechen-

zentrum von Oxford eine tote Wanze in einem Relais den Betrieb lahmgelegt hat. Was passiert, wenn ein Makro ausgefhrt wird? Schauen Sie sich das einfach selbst einmal an. Denn mit Visual Basic fr Applikationen knnen Sie ein Makro Schritt fr Schritt durchlaufen. Setzen Sie die Einfgemarke an eine 1 beliebige Stelle innerhalb der Prozedur KopfOderZahl. Whlen Sie anschlieend aus dem 2 Men Debuggen den Punkt Einzelschritt. Stattdessen knnen Sie auch auf die Taste F8 drcken. Die Anweisung, die als nchste ausge3 fhrt wird, ist gelb hinterlegt. Nun drcken Sie so lange die Taste F8, bis die if-Anweisung markiert ist. Da die Anweisung zahl = Rnd() be4 reits ausgefhrt wurde, enthlt die Variable zahl einen Wert. Bewegen Sie nun den Mauszeiger ber die Variable zahl im Quelltext. In einem Infofenster ber der Variablen erscheint deren aktueller Inhalt. So knnen Sie stets prfen, was sich gerade in einer Variablen befindet. Drcken Sie nun noch einmal die 5 Taste F8. Ist der Wert der Variablen zahl kleiner als 0,5, springt die Markierung direkt auf die Anweisung MsgBox Kopf. War der Wert hingegen grer oder gleich 0,5, wird die Zeile Else und nach einem weiteren Drcken der Taste F8 die Zeile MsgBox Zahl gelb hinterlegt. Sind Sie fertig, drcken Sie die Taste 6 F5 oder whlen im Men Ausfhren den Punkt Fortsetzen. Wie die Verarbeitung bei einem Makro mit Schleife aussieht, sehen Sie im Kasten Makro-Verarbeitung im Detail. Ingo Bhme
CHIP | OFFICE KOMPAKT

42

VERSIONEN PROGRAMMIERUNG Makros einbinden

LSUNGEN

TIPPS & TRICKS

Makros ins Men einbinden

Auf Heft-CD

Excel la carte
Excel-eigenen Befehle verwenden und andererseits auch eigene Makros einem Menpunkt oder einer beliebigen Symbolschaltflche zuordnen.

Die Prozedur, VBA-Routinen ber das Makro-Fenster aufzurufen, ist sehr umstndlich. Mit wenigen Handgriffen knnen Sie jedoch jedes Unterprogramm mit einem Menpunkt oder einer beliebigen Symbolschaltflche verknpfen. Dieser Beitrag zeigt Ihnen, wie das funktioniert.

akros immer ber die Menfolge Extras, Makro, Makros auszufhren ist ziemlich mhsam. Deshalb bietet Excel die Mglichkeit, sowohl das Men als auch die Symbolleisten selbst zu gestalten. Dabei knnen Sie einerseits die

Das Men erweitern


Die einfachste Art, ein selbsterzeugtes Makro in die Excel-Oberflche einzugliedern, besteht darin, sie mit einem neuen Menpunkt zu verbinden. ffnen Sie im Windows-Explorer 1 eine Excel-Datei, die bereits einige von Ihnen angelegte, einsatzbereite Makros enthlt, etwa aus dem Grundlagenbeitrag Lernen Sie delegieren! ab s30. Sobald Sie die Tabelle mit Excel geff2 net haben, whlen Sie im Men Extras den Punkt Anpassen. Aktivieren Sie anschlieend das Re3 gister Befehle und markieren Sie hier die Kategorie Makros. Klicken Sie im rechten Teil des Fens4 ters unter Befehle mit der linken Maustaste auf den ersten Eintrag Benutzerdefiniertes Menelement. Halten Sie die Taste gedrckt. Ziehen Sie bei weiterhin gedrckter 5 Maustaste den Eintrag nach oben und

KNOW-HOW Shortcut
Bei einem Menpunkt ist zumeist ein Buchstabe unterstrichen. Ist das Men geffnet, knnen Sie den entsprechenden Menpunkt aktivieren, indem Sie den Buchstaben auf der Tastatur drcken. Da dieser Weg sehr schnell ist, nennt man diesen unterstrichenen Buchstaben Shortcut (engl. fr Abkrzung).

Drag & Drop


Unter Drag & Drop (engl. fr Ziehen und Fallenlassen) versteht man unter Windows die Technik, ein Element etwa eine Datei im Explorer anzuklicken, die Maustaste zu halten und das Element an eine andere Stelle zu verschieben. Abgelegt wird es, sobald Sie die Maustaste loslassen.

CHIP | OFFICE KOMPAKT

43

halten Sie ihn ber das Men Extras. Nach etwa einer Sekunde klappt das Men auf und zeigt das komplette Untermen mit allen Befehlen. Verschieben Sie den Mauszeiger nach unten und lassen Sie an der Stelle die Maustaste los, an der der neue Menpunkt stehen soll. Klicken Sie mit der rechten Maustaste 6 auf den neuen Eintrag Benutzerdefiniertes Menelement. Im folgenden Dialog ist der dritte Eintrag von oben mit der Bezeichnung Name ein Eingabefeld, in das Sie die gewnschte Bezeichnung des Menpunktes eintragen, also etwa &Mein Menpunkt. Das kaufmnnische Und-Zeichen

& bedeutet, dass der darauf folgende Buchstabe hier also das M in der Menanzeige unterstrichen ist und als Shortcut (siehe Kasten links unten) verwendet und per Tastatur aufgerufen werden kann. Aktivieren Sie den untersten Men7 punkt Makro zuweisen. Whlen Sie aus der Liste der Eintrge eines der Makros, beispielsweise KopfOderZahl, und klicken Sie auf OK. Schlieen Sie den Dialog Anpassen, 8 und speichern Sie das erweiterte Arbeitsblatt wie gewohnt. Klicken Sie nun auf den Menpunkt 9 Extras, sehen Sie darunter Ihren k

Individuell: ber Anpassen knnen Sie Ihre eigenen Makros im Men unterbringen.
CHIP | OFFICE KOMPAKT

44

VERSIONEN PROGRAMMIERUNG Makros einbinden

LSUNGEN

TIPPS & TRICKS

eigenen Eintrag Mein Menpunkt. Klicken Sie ihn an, wird das Makro ausgefhrt und zeigt Ihnen das Ergebnis des Mnzwurfs mit der Meldung Kopf respektive Zahl an. Hinweis: Da sich das Makro in einer ganz bestimmten Datei befindet, wird es natrlich nur dann ausgefhrt, wenn diese Arbeitsmappe in Excel geffnet ist. Der Menpunkt steht hingegen immer zur Verfgung. Sie sollten sich also genau berlegen, welche Makros einen eigenen Menpunkt bekommen, andernfalls ist die Suche im Men Extras nach einem bestimmten Eintrag bald recht zeitaufwendig.

Symbolschaltflchen hinzufgen
Sie knnen nicht nur die Mens von Excel erweitern, sondern auch die Symbolleisten. Dazu muss wieder die Datei geffnet sein, in der sich die Makros befinden. Whlen Sie im Men Extras den 1 Punkt Anpassen. Wechseln Sie in das erste Register 2 Symbolleisten. Klicken Sie auf Neu und geben Sie 3 als Name Meine Symbolleiste ein. Neben dem Fenster Anpassen sehen 4 Sie nun eine leere Symbolleiste. Ver-

Kreativitt ist gefragt: Mit Hilfe des Schaltflchen-Editors knnen Sie problemlos Zeichnungen fr Ihre Symbolschaltflchen entwerfen. Probieren Sie es doch einfach aus!

CHIP | OFFICE KOMPAKT

45

schieben Sie diese nach oben, wo sich die brigen Standardsymbole von Excel befinden auf diese Weise wird sie automatisch eingebunden. Wechseln Sie nun per Mausklick in 5 das Register Befehle. Whlen Sie als Kategorie Makros 6 und in der rechten Liste unter Befehle den Eintrag Schaltflche anpassen. Ziehen Sie diesen Eintrag per Drag&Drop (siehe Kasten s42) in die eben angelegte Symbolleiste und lassen Sie die Maustaste dort los. Klicken Sie die neue Symbolschalt7 flche mit der rechten Maustaste an und whlen Sie den letzten Menpunkt Makro zuweisen. Whlen Sie aus der Liste den entspre8 chenden Makronamen aus zum Beispiel wieder KopfOderZahl und klicken Sie auf OK. Hinweis: Auch diese Symbolschaltflche ist knftig in Excel immer sichtbar. Klicken Sie jedoch darauf, ohne die Datei mit den Makros geffnet zu haben, erhalten Sie lediglich die Fehlermeldung, dass das Makro nicht existiert. Mchten Sie die Symbole nur bei Bedarf sehen, sollten Sie die Symbolleiste nicht fest einbinden. So knnen Sie diese Leiste mit einem Klick auf das Kreuz jederzeit ausblenden und erst bei Bedarf wieder anzeigen lassen.

Die Symbolschaltflche anpassen


Standardmig erhlt eine neue Symbolschaltflche als Bild einen gelben Smiley. Und der Hilfetext, der erscheint, sobald Sie kurz mit der Maus ber dem Symbol verweilen, ist mit dem kargen Hinweis Schalt-

flche anpassen nicht besonders aussagekrftig oder gar hilfreich. Laden Sie die Arbeitsmappe Grund1 lagen.xls und ffnen Sie ber das Men Extras den Dialog Anpassen. Klicken Sie mit der rechten Maus2 taste auf die Symbolschaltflche, die Sie anpassen wollen. Daraufhin erscheint ein Kontextmen. Tragen Sie rechts neben dem dritten 3 Punkt im Eingabefeld den Text ein, der als Hilfe erscheinen soll, beispielsweise Mnze werfen. Klicken Sie im Kontextmen auf den 4 achten Menpunkt Schaltflchensymbol ndern. Direkt daneben erscheint nun eine Auswahl mit 42 unterschiedlichen Symbolen. Wenn Ihnen eines davon gefllt, knnen Sie es mit einem Mausklick auswhlen und bernehmen. Finden Sie kein passendes Symbol5 bild, knnen Sie Ihr eigenes erzeugen. Dazu verwenden Sie den SchaltflchenEditor. Ihn rufen Sie auf, indem Sie im Kontextmen den Menpunkt Schaltflchensymbol bearbeiten anklicken. Whlen Sie nun mit der Maustaste im 6 Bereich Farben die Farbe, mit der Sie malen mchten. Klicken Sie dann nacheinander im Rasterfeld auf der linken Seite auf die Punkte, die Sie mit dieser Farbe einfrben wollen. ndern Sie rechts die Farbeinstellung und frben Sie weitere Punkte ein. So entsteht nach und nach ein Bild. Ist Ihre Zeichnung fertig, berneh7 men Sie sie mit OK als Ihre neue Symbolschaltflche. Beenden Sie abschlieend ber die 8 Schaltflche Schlieen den Dialog Anpassen. Ingo Bhme
CHIP | OFFICE KOMPAKT

46

VERSIONEN PROGRAMMIERUNG Excel-Objekte verwenden

LSUNGEN

TIPPS & TRICKS

Zugriff auf Excel-Objekte

Excel fest im Griff


Nun gehts ans Eingemachte: In diesem Beitrag lesen Sie, wie Sie per Makro direkt auf die Arbeitsmappe, die Zellen und deren Inhalte zugreifen.

KNOW-HOW Makro-Modul
In einem sogenannten Modul knnen Sie Makros, genauer: die Programmzeilen eines Makros ablegen. Diese werden dann innerhalb des VBA-Editors in einem eigenen Fenster angezeigt, die zum Beispiel Namen wie Modul1 tragen. Jedes Makro-Modul beginnt mit einer Zeile, an deren Anfang Sub steht, gefolgt vom Makronamen. Es endet mit der Anweisung End Sub: Daran erkennt VBA, dass hier die Makro-Ausfhrung beendet wird.

islang ging es um das Programmieren mit Visual Basic fr Applikationen. Dies ist die Programmiersprache, mit der Sie unter anderem auch in den brigen Microsoft-Office-Anwendungen von Word ber Outlook bis hin zu Access unterschiedlichste Makros und Anwendungen erstellen knnen. Was Excel aber einzigartig macht, sind die Arbeitsmappen, die darin enthaltenen Arbeitsbltter und all die Techniken und Funktionen, die diese umfassende Tabellenkalkulation auszeichnen. Und genau auf diese Elemente knnen Sie als Programmierer jederzeit zugreifen.

CHIP | OFFICE KOMPAKT

Foto: K. Satzinger

47

Zugriff auf die ExcelElemente


Wollen Sie auf Excel-Elemente wie etwa Tabellen, Zellen oder Diagramme zugreifen, kommen die sogenannten Objekte ins Spiel. In Excel ist beispielsweise eine Arbeitsmappe ein Objekt. Dieses Objekt hat zahlreiche Unterobjekte, die Tabellen. Und auch jede Tabelle hat zahlreiche Unterobjekte, nmlich die einzelnen Zellen. Jedes dieser Objekte hat zudem Eigenschaften Attribute genannt , die es auszeichnen. So hat etwa die Arbeitsmappe einen Dateinamen. Eine Tabelle hingegen besitzt einen eindeutigen Namen, der auf dem Reiter am unteren Rand angezeigt wird. Und mit den Eigenschaften einer Zelle bestimmen Sie die k

Ausgegrenzte Bereiche: Im Eigenschaften-Fenster des VBA-Editors knnen Sie Attribute der Tabellen setzen, auf die Sie von Excel aus normalerweise keinen direkten Zugriff haben, zum Beispiel das Einschrnken der Navigation in einer Tabelle.

CHIP | OFFICE KOMPAKT

48

VERSIONEN PROGRAMMIERUNG Excel-Objekte verwenden

LSUNGEN

TIPPS & TRICKS

Informationen gezielt abrufen: Vom Makro-Code aus haben Sie jederzeit Zugriff auf den Dateinamen und die Pfadangabe der aktuell geffneten Arbeitsmappe.

Schriftart, die Farbe oder den Inhalt. In der VBA-Umgebung knnen Sie einige dieser Eigenschaften direkt ndern: Starten Sie Excel mit einer neuen 1 Arbeitsmappe. Speichern Sie diese ber Datei und 2 Speichern unter unter dem Namen ExcelObjekte.xls in einem Ordner. ffnen Sie den Visual-Basic-Editor 3 ber den Menpunkt Extras, Makro und Visual-Basic-Editor. Markieren Sie im Projektfenster den 4 Eintrag VBAProject (ExcelObjekte .xls). Befindet sich davor ein +, klicken Sie darauf, um die nchste Ebene anzuzeigen. Markieren Sie darunter den Eintrag 5 Tabelle1 (Tabelle1). Im Eigenschaften-Fenster sehen Sie dann alle Attribute des ersten Arbeitsblatts Ihrer Arbeitsmappe. Klicken Sie im Eigenschaften-Fenster 6 in die rechte Spalte neben dem Eintrag ScrollArea. Geben Sie hier den Zellbereich $A$10:$C$30 ein. Diese Eigenschaft dient dazu, den Bereich, den der Benutzer
CHIP | OFFICE KOMPAKT

innerhalb der Tabelle verwenden darf, auf den eingegebenen Rahmen einzugrenzen. Wechseln Sie zurck zu Ihrem Excel7 Arbeitsblatt und bewegen Sie den Zellzeiger mit den Pfeiltasten. Sie werden feststellen, dass Sie nur noch innerhalb des zuvor festgelegten Zellbereichs navigieren knnen. Wechseln Sie hingegen in ein anderes Arbeitsblatt, beispielsweise in Tabelle 2, zeigt diese Einschrnkung keine Wirkung, da sie sich nur auf Tabelle 1 bezieht.

Zugriff auf die einzelnen Objekteigenschaften


Auf die meisten dieser Eigenschaften greifen Sie als Programmierer direkt vom Code aus zu. Bei manchen Eigenschaften knnen Sie nur den Inhalt abfragen, etwa beim Namen der Arbeitsmappe. Andere Eigenschaften, beispielsweise Inhalt oder Formatierung einer Zelle oder auch die im obigen Beispiel vernderte Eigenschaft ScrollArea, lassen sich jedoch auch vom Programmierer ber ein Makro verndern.

49

Jede dieser Eigenschaften eines Objekts hat einen Namen. Und diesen Namen verwenden Sie genauso wie eine Variable. Bei einer Arbeitsmappe lautet der Name der Eigenschaft, in der sich der Dateiname befindet, Name. Aber auch ein Arbeitsblatt besitzt eine Eigenschaft mit genau dieser Bezeichnung. Hierin ist der Name der Tabelle enthalten. Um die beiden Eigenschaften zu unterscheiden und eindeutig einmal auf den Namen des Arbeitsblatts und das andere Mal auf den der Arbeitsmappe zuzugreifen, muss alles konkret bezeichnet werden. Das Problem ist ja hnlich wie bei folgendem Beispiel: Hren Sie die Aussage Herr Meier hat sich beim Hmmern auf den Nagel gehauen, kann man sich darunter nicht viel vorstellen. Es knnte den Nagel des kleinen Fingers sein, der des Mittelfingers, der an der linken oder der an der rechten Hand. Eindeutig wird das Ganze, wenn man die einzelnen Objekte in ihrer Abfolge nennt.

Also: Herr Meier, linke Hand, Daumen, Nagel. In der Schreibweise von VBA geht man genauso vor, nur dass hier als Trennzeichen zwischen den einzelnen Objekten und Eigenschaften der Punkt verwendet wird. Den getroffenen Fingernagel wrde man also in VBA so beschreiben:
HerrMeier.LinkeHand.Daumen.Nagel

INFO

Programme eingeben
Im Bild auf der linken Seite oben sehen Sie auf der gelben Flche den Programmcode, mit dem das Hinweisfenster anzeigt wird. Am Ende der meisten Zeilen sehen Sie einen Unterstrich _: Er ist in Excel ein Kennzeichen dafr, dass Sie am Ende dieser Zeile nicht die Eingabetaste drcken drfen, sondern bei der Eingabe die nachfolgende Zeile an die bisherige Eingabe anhngen mssen oder eben den Unterstrich eingeben. Dann wei Excel, dass die Nachfolgezeile noch dazu gehrt. Mit dieser Methode wird ein Programm (auch Listing genannt) besser lesbar.

Natrlich gibt es in VBA nicht das Objekt HerrMeier. Dafr gibt es aber beispielsweise das Objekt ActiveWorkbook, das die aktuelle Arbeitsmappe bezeichnet. Und es gibt ActiveSheet, das aktuelle Arbeitsblatt. Legen Sie nun den Rahmen fr die folgenden Beispielzeilen fest: Wenn Sie sich noch nicht in der VBA1 Entwicklungsumgebung befinden, wechseln Sie ber den Menpunkt Extras, Makro, Visual-Basic-Editor dorthin. Markieren Sie im Projektfenster den 2 Eintrag VBAProject (ExcelObjekte. xls) und fgen Sie ber den Menpunkt Einfgen und Modul ein neues MakroModul zu Ihrer Arbeitsmappe hinzu (siehe Kasten s46). Dieses erscheint im aktuellen Projekt in dem neuen Ordner Module als Eintrag Modul1. Doppelklicken Sie auf den Eintrag 3 Modul1. Es ffnet sich im EditorFenster eine leere Quelltext-Datei. Geben Sie dort den Rahmen fr ein 4 Makro ein:
Sub EigenschaftenTest() End Sub

Wollen Sie wissen, wie der Dateiname der Arbeitsmappe lautet, dann ist die VBA- k
CHIP | OFFICE KOMPAKT

50

VERSIONEN PROGRAMMIERUNG Excel-Objekte verwenden

LSUNGEN

TIPPS & TRICKS

Anweisung, um den Dateinamen mit einem Makro am Bildschirm anzuzeigen:


MsgBox ActiveWorkbook.Name

Und wenn Sie dazu auch noch die Angabe bentigen, in welchem Verzeichnis sich die Datei befindet, verwenden Sie einfach die Eigenschaft Path:
MsgBox ActiveWorkbook.Path

Tragen Sie diese beiden Anweisungen zwischen der Zeile Sub... und End Sub ein. Um das Makro zu testen, setzen Sie den Cursor im Editor in die Zeile Sub... und drcken anschlieend die Taste F5. Wollen Sie direkt vom Code aus den Zellbereich, auf den der Benutzer Zugriff hat, einschrnken, verwenden Sie wie im ersten Beispiel die Eigenschaft ScrollArea. Geben Sie direkt hinter dem vor5 herigen Makro die folgende neue Prozedur (siehe Kasten unten) ein:
Sub MitEinschraenkung() Tabelle1.ScrollArea = t "$A$10:$C$30" End Sub

Auf Umwegen zum Ziel: Damit Sie Excel bei der Formatierung der VBA-Anweisungen untersttzt, zeichnen Sie Ihre Aktionen zunchst als Makro auf.

Starten Sie dieses Makro, indem Sie den Cursor innerhalb der Prozedur plazieren und die Taste F5 drcken. Wenn Sie zurck zur Excel-Tabellenumgebung wechseln, werden Sie feststellen, dass der Bereich geschtzt ist. Geben Sie in der VBA-Umgebung zu7 stzlich das Makro

Sub OhneEinschraenkung() Tabelle1.ScrollArea = "" End Sub

KNOW-HOW Prozedur
Im VBA-Editor wird der Code eines Makros zu einer sogenannten Prozedur zusammengefasst. Eine Prozedur besteht also aus den Zeilen, aus denen sich ein von Ihnen geschriebenes oder aufgezeichnetes Makro zusammensetzt.

ein und fhren Sie es aus. Nun steht wieder das gesamte Arbeitsblatt in der Excel-Umgebung zur Verfgung.

Makros: Aufzeichnung erweitern


Excel ist ein sehr komplexes Programm. Aus diesem Grund gibt es unzhlige Objekte, angefangen vom grten Objekt, der Applikation selbst, ber die Arbeitsmappen, die verschiedenen Tabellen bis hinunter zu den kleinsten Objekten, den Ebenen der Zellen.

CHIP | OFFICE KOMPAKT

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

51

Insbesondere am Anfang scheint einen diese Flle an Objekten zu erschlagen. Kommen dann noch bei jedem Objekt bis zu 50 Eigenschaften hinzu, ist es selbst fr erfahrene VBA-Programmierer schier unmglich, alle Bezeichnungen zu kennen. Mit Hilfe des Makro-Rekorders weisen Sie Excel an, selbst die entsprechenden Objekte und Eigenschaften herauszusuchen. Wollen Sie beispielsweise innerhalb eines Makros einen bestimmten Zellbereich mit einer bestimmten Hintergrundfarbe versehen, simulieren Sie zunchst die Vorgehensweise in Excel selbst: Whlen Sie in Excel den Menpunkt 1 Extras, Makro, Aufzeichnen. Excel vergibt automatisch einen noch 2 nicht vorhandenen Makronamen, bei der ersten Aufnahme Makro1. Besttigen Sie diesen mit OK.

Markieren Sie einen beliebigen Bereich, etwa von A2 bis D12, und formatieren Sie ihn mit dem Schriftattribut Fett, indem Sie auf die Schaltflche mit dem F klicken. Klicken Sie, sobald Sie mit der Forma4 tierung fertig sind, auf die Schaltflche mit dem Stopp-Symbol, um die Aufzeichnung zu beenden. Das Makro ist damit fertiggestellt und in der Tabelle bzw. Arbeitsmappe vorhanden. Wechseln Sie zurck zum VBA5 Editor. Dort sehen Sie im Abschnitt Module Ihres VBA-Projekts einen neuen Eintrag: Modul2. Fhren Sie darauf einen Doppelklick aus. Sie sehen, wie Excel Ihre Aktionen in VBA-Code umgesetzt hat. Zunchst haben Sie den Zellbereich von A2 bis D12 markiert. Umgesetzt in Code lautet dies: k

Achtung, Aufnahme luft: An einer kleinen Symbolleiste (im Bild rechts neben der Tabelle) sehen Sie, dass gerade die Aufzeichnung eines Makros luft. Mit einem Klick auf die linke Stopp-Taste beenden Sie die Aufzeichnung Ihrer Aktionen im MakroRekorder.

CHIP | OFFICE KOMPAKT

52

VERSIONEN PROGRAMMIERUNG Excel-Objekte verwenden

LSUNGEN

TIPPS & TRICKS

Range("A2:D12").Select

INFO

Mit dem Objekt Range (engl. fr Bereich) sprechen Sie einen beliebigen Zellbereich an. Um welchen es sich handelt, geben Sie in Klammern und Gnsefchen dahinter an. Auch dieses Objekt hat wiederum zahlreiche Eigenschaften, etwa Borders, um die Rnder festzulegen, NumberFormat fr das Darstellungsformat des Bereichs und viele mehr. Darber hinaus kennt dieses Objekt sogenannte Methoden, etwa in diesem Beispiel die Methode Select. Damit wird der angegebene Bereich markiert (engl. to select = auswhlen). Die nchste Zeile bezieht sich auf ein anderes Objekt. Im Grunde genommen ist dies auch ein Bereich, aber ein spezieller: der Bereich der Zellen, die markiert sind.
Selection.Font.Bold = True

Excel-Objekte

in der

Excel ist eine komplexe Sammlung von Objekten. Auf oberster Hierarchie-Ebene befindet sich die Anwendung also Excel selbst. In VBA lautet der Name dieses Objekts Application. Das wohl wichtigste Unterelement sind die Arbeitsmappen, sogenannte WorkBooks. Da es davon mehrere geben kann, handelt es sich um ein indiziertes Objekt. Das bedeutet, dass man ber eine Nummer auf die tatschliche Arbeitsmappe zugreift. Die erste Arbeitsmappe trgt daher die Bezeichnung WorkBooks(1). Jede Arbeitsmappe besitzt wiederum Unterobjekte. Die offensichtlichsten sind die Tabellen (WorkSheets). Da es auch hierbei wieder mehrere Tabellen geben kann, ist auch dieses Objekt indiziert. WorkSheets(1) bezieht sich dabei wieder auf das erste Arbeitsblatt. Wollen Sie also beispielsweise den Namen des zweiten Arbeitsblatts der ersten Arbeitsmappe am Bildschirm anzeigen, so lautet die VBA-Zeile wie folgt:
MsgBox Workbooks(1).t Worksheets(2).Name

Und wie jeder Bereich also auch das Range-Objekt besitzt Selection (engl. fr Auswahl) die Eigenschaft Font. Auch diese verfgt wieder ber zahlreiche Einzelinformationen wie Schriftart oder Schriftgre und Attribute wie Italic fr Kursiv und Bold fr Fett. Diese beiden Eigenschaften sind entweder gesetzt (True) oder nicht gesetzt (False). Wollen Sie also das Makro so erweitern, dass es den Zellbereich nicht nur fett, sondern auch noch kursiv darstellt, fgen Sie einfach die Zeile
Selection.Font.Italic = True

In der nebenstehenden bersicht sehen Sie, welche vielfltigen Objekte es gibt. Handelt es sich um indizierte Objekte wie Arbeitsmappen und Arbeitsbltter, sind diese im Bild unten gelb dargestellt zu erkennen. Wollen Sie wissen, was sich hinter den verschiedenen Objektnamen verbirgt, gehen Sie folgendermaen vor: bersetzen Sie zunchst den Namen des Objekts. Zumeist ergibt sich daraus bereits dessen Einsatzgebiet. Starten Sie aus der VBA-Entwicklungs2 umgebung heraus die Hilfe. Dadurch wird automatisch die VBA-Hilfe aufgerufen. Diese wird standardmig allerdings nicht installiert

zu dem Makro-Code hinzu, wie er bisher vorgelegen hat. Ingo Bhme


CHIP | OFFICE KOMPAKT

53

bersicht
Wie ging das noch? Die Online-Hilfe zur VBA-Entwicklungsumgebung bietet zahlreiche Informationen und Beispiele zu allen Excel-Objekten.

und muss gegebenenfalls von der Office-CD nachinstalliert werden. ffnen Sie im Inhaltsverzeichnis der Hilfe 3 das Visual-Basic-Sprachverzeichnis und darunter den Punkt Objekte und Auflistungsobjekte. Hier finden Sie alle verfgbaren Objekte alphabetisch geordnet.

Klicken Sie in der Hilfe zum Beispiel auf den Unterpunkt A-B, Application-Objekt. Auf diese Weise wird im rechten Teil des Fensters das von Ihnen gewhlte Hilfethema angezeigt. Jede Beschreibung eines Objekts enthlt eine Liste aller vorhandenen Eigenschaften und Methoden, wenn Sie auf die gleichnamigen Querverweise klicken. Gut sind auch die Beispiele der Hilfe.

bersicht: Die Zahl an normalen und indizierten Objekten in Excel ist gro.
t bedeutet: Diese und die Folgezeile mssen in einer Zeile eingetippt werden.
CHIP | OFFICE KOMPAKT

54

Makros automatisch ausfhren

Reflexartige

MAKROS
Makros mssen Sie nicht immer manuell aus dem Men oder der Symbolleiste starten. Mit Hilfe der ExcelArbeitsmappenEreignisse lassen sich die Routinen bei Bedarf auch ganz automatisch von Excel ausfhren.

KNOW-HOW Aktive Arbeitsmappe


In VBA sind Arbeitsmappen und Tabellen so genannte indizierte Objekte. Das bedeutet, dass Sie immer in Klammern die Nummer der entsprechenden Arbeitsmappe oder der entsprechenden Tabelle angeben mssen, um in einem Makro auf deren Eigenschaften zugreifen zu knnen. Allerdings gibt es zwei besondere Objekte, mit denen Sie auf die gerade aktive Arbeitsmappe (ActiveWorkbook) beziehungsweise die aktuelle Tabelle (ActiveSheet) zugreifen knnen.

enn Ihnen der Wind ein Insekt ins Auge weht, schliet sich Ihr Augenlid. Wenn Ihnen der Arzt mit seinem Hmmerchen unterhalb der Kniescheibe auf die Patellasehne klopft, zuckt der Unterschenkel sofern Ihre Reflexe in Ordnung sind. Doch Sie sind nicht der einzige, der reflexartig agiert. Auch Excel kann automatisch auf Umstnde oder Ereignisse antworten Sie mssen dem Programm nur sagen, worauf es ankommt und wie es das tun soll. Sie legen zum Beispiel fest, mit welchen Makros die Tabellenkalkulation beim Start, beim Arbeitsblattwechsel oder bei einem Doppelklick reagieren soll.

CHIP | OFFICE KOMPAKT

VERSIONEN PROGRAMMIERUNG Makros ausfhren

LSUNGEN

TIPPS & TRICKS

55

Ereignisse Excels ganz besondere Reflexe


In Excel gibt es zwei Objekte, die auf zahlreiche unterschiedliche Ereignisse reagieren knnen. Das eine ist die Arbeitsmappe selbst und das andere jede der darin enthaltenen Tabellen. Starten Sie Excel mit einer neuen 1 Arbeitsmappe. Speichern Sie diese gleich wieder ber 2 Datei, Speichern unter unter dem Namen Ereignisse.xls in einem beliebigen Ordner auf Ihrem PC. 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(Ereignisse.xls). Sehen Sie davor das +, klicken Sie darauf, damit die nchste Ebene angezeigt wird.

Klappen Sie danach in Microsoft Excel Objekte die darunterliegende Ebene auf. Fhren Sie auf den Eintrag Diese Ar5 beitsmappe einen Doppelklick aus. Daraufhin erscheint im Editor-Fenster ein leeres Dokument. Whlen Sie im linken ausklappbaren 6 Listenfeld ber dem Editor-Fenster den Eintrag Workbook (engl. fr Arbeitsmappe). Es erscheint im Editor-Fenster automatisch das Grundgerst eines Makros. Und wenn Sie sich einmal den Inhalt des Listenfeldes oben rechts anschauen, sehen Sie, dass darin der Eintrag Open (engl. fr ffnen) gewhlt ist. Klappen Sie einmal dieses rechte Listenfeld aus: Was Sie hier sehen, sind all die Ereignisse, auf die Sie als Programmierer bei dieser Arbeitsmappe reagieren knnen. k

Auf Nummer Sicher gehen: Mit ein wenig handgeschriebenem Code verhindern Sie, dass der Benutzer eine Arbeitsmappe schlieen kann, ohne sie vorher zu speichern.

CHIP | OFFICE KOMPAKT

56

VERSIONEN PROGRAMMIERUNG Makros ausfhren

LSUNGEN

TIPPS & TRICKS

Whlen Sie zum Beispiel den Eintrag BeforeClose (engl. fr vor dem Schlieen) aus. Sofort wird der Rumpf eines zweiten Makros im Textfenster erzeugt. Bei diesen beiden Makros handelt es sich um automatische Makros. Sie werden von Excel ausgefhrt, wenn die entsprechenden Er-

eignisse eintreten. Bei Workbook_Open ist dies der Fall, sobald die Arbeitsmappe geffnet wird bei Workbook_BeforeClose dementsprechend kurz bevor sie geschlossen wird. Tragen Sie beispielsweise beim ffnen 1 die Zeile

INFO

Ereignisse

eines Arbeitsblatts

Genauso wie die Arbeitsmappe verfgen auch alle Tabellen ber Ereignisse, auf die Sie mit Code reagieren knnen. Der Vorteil der Tabellen-Ereignisse besteht darin, dass sie nur fr eine Tabelle gelten. Damit knnen Sie beispielsweise dem Doppelklick-Ereignis in unterschiedlichen Arbeitsblttern unterschiedlichen Code zuordnen. Activate Dieses Ereignis tritt ein, wenn der Benutzer innerhalb der Arbeitsmappe zu der entsprechenden Tabelle wechselt. BeforeDoubleClick Das Ereignis BeforeDoubleClick tritt ein, wenn der Benutzer auf einer Zelle einen Doppelklick ausfhrt. Normalerweise wird danach die Zelle in den Eingabemodus versetzt. Weisen Sie jedoch dem Parameter Cancel den Wert True (logisch, wahr) zu, wechselt Excel nicht in den Eingabemodus. BeforeRightClick Das automatische Makro zu diesem Ereignis wird ausgefhrt, sobald der Benutzer auf eine Zelle einen Klick mit der rechten Maustaste ausfhrt. Normalerweise wird an dieser Stelle das Kontextmen angezeigt. Mit Hilfe der Variablen Cancel knnen Sie jedoch verhindern, dass ein Kontextmen angezeigt wird. Calculate In diesem Fall tritt ein Ereignis ein, nachdem innerhalb eines Arbeitsblatts Formeln und Ausdrcke nach der Eingabe von Werten erneut berechnet wurden. Change Wenn der Benutzer in einer Zelle den Inhalt verndert und dies mit der Eingabetaste besttigt, tritt dieses Ereignis ein. Deactivate Sobald der Benutzer innerhalb dieser Arbeitsmappe zu einer anderen Tabelle wechselt, tritt dieses Ereignis ein. FollowHyperlink Geben Sie in einer Zelle eine E-Mail- oder Internet-Adresse ein, wird diese als Hyperlink dargestellt. Das bedeutet, dass sie wie ein Querverweis funktioniert. Klickt der Benutzer auf diese Zelle, wird automatisch das E-Mail-Programm oder der Internet-Browser geffnet. Zudem tritt dieses Ereignis ein. SelectionChange Bringt der Benutzer den Zellzeiger an eine andere Position oder markiert einen Bereich, wird das automatische Makro zu diesem Ereignis ausgefhrt.

CHIP | OFFICE KOMPAKT

57

MsgBox "Guten Tag!!!"

und beim Schlieen (Workbook_Before Close) die Zeile


MsgBox "Und Tsch!"

jeweils vor dem End Sub ein. Speichern Sie Ihr Arbeitsblatt in der Excel-Umgebung ber Datei, Speichern und schlieen Sie es. Bevor die Datei tatschlich geschlossen wird, erscheint ab sofort der Meldungsdialog Und Tsch!. ffnen Sie die Arbeitsmappe erneut 3 ber Datei, 1, wird hingegen das automatische Makro Workbook_Open ausgefhrt.

Wenn der Code der beiden automatischen Makros nicht mehr angezeigt werden sollte, machen Sie ihn wieder sichtbar, indem Sie auf VBAProject (Ereignisse.xls), Microsoft Excel Objekte, DieseArbeitsmappe einen Doppelklick mit der Maus ausfhren. Erweitern Sie die Codezeile fr das 3 BeforeClose-Makro wie folgt:

If ActiveWorkbook.Saved Then MsgBox "Und Tsch!" Else MsgBox "Erst ma speichern!!!" Cancel = True End If

Beenden per Makro verhindern


Nun ist Ihnen sicherlich aufgefallen, dass im Gegensatz zu Workbook_Open bei Workbook_BeforeClose noch etwas in Klammern steht. Dabei handelt es sich um einen sogenannten Parameter. Das ist eine Variable, die das Makro beim Aufruf erhlt. Im Falle von BeforeClose lautet der Name der Variablen Cancel (engl. fr abbrechen). Dahinter sehen Sie die Anmerkung As Boolean. Dies bedeutet, dass diese Variable nur die Werte True (wahr) oder False (falsch) enthalten kann. Mit Hilfe dieser Variablen knnen Sie das Verhalten von Excel beeinflussen: Wenn Sie sie innerhalb des Makros Workbook_BeforeClose mit dem Wert True belegen, hindern Sie Excel am Schlieen der Arbeitsmappe. Wechseln Sie ber Extras, Ma1 kros, Visual-Basic-Editor zurck zur VBA-Entwicklungsumgebung.

In der ersten Zeile prfen Sie, ob die aktive Arbeitsmappe (ActiveWorkbook, siehe Kasten s54) seit dem letzten Speichern verndert wurde. Die Eigenschaft Saved liefert den logischen Wert wahr zurck, wenn die letzte nderung bereits von Ihnen auf der Festplatte gespeichert wurde. In diesem Fall verabschiedet sich die Arbeitsmappe ohne weiteren Hinweis mit der Meldung Und Tsch!. Im anderen Fall wird der Benutzer aufgefordert, erst einmal die Datei zu speichern. Indem die Variable Cancel (Abbruch) mit dem logischen Wert True (wahr) belegt wird, weisen Sie Excel an, die Arbeitsmappe nicht zu schlieen, sondern den Vorgang abzubrechen. Ein kleiner Test: Wechseln Sie zurck zur Tabellen1 ansicht von Excel. Nehmen Sie einen beliebigen Eintrag 2 in der Zelle A1 vor. Schlieen Sie Excel ber Alt+ F4, 3 ohne vorher zu speichern. k
CHIP | OFFICE KOMPAKT

58

VERSIONEN PROGRAMMIERUNG Makros ausfhren

LSUNGEN

TIPPS & TRICKS

Nun verhindert Excel mit Hilfe Ihres automatischen Makros, dass Sie die Arbeitsmappe oder Excel schlieen, ohne vorher gespeichert zu haben. Der bekannte Dialog, der Sie auffordert, zu speichern oder die nderungen zu verwerfen, taucht nicht mehr auf, da Sie ihm zuvorgekommen sind.

Tabellenereignisse in Makros verwenden


Mit Hilfe der automatischen Makros knnen Sie in Excel sehr leicht eine eigene Anwendung realisieren, die Ihnen beispielsweise bei Umfragen oder Sportereignissen hilft, Ergebnisse zu erfassen. Das folgende Beispiel ist eine ExcelDatei, mit der etwa ein Meinungsforscher Passanten nach dem Ausgang der Formel-1Weltmeisterschaft 2004 befragt und die Ergebnisse ohne Eintippen festhlt. Tragen Sie in dem aktuellen Arbeits1 blatt in den Zellen A3, B3 und C3 als berschrift jeweils Name des Teams, Anzahl und % ein. Geben Sie in den Zellen von A4 bis 2 A10 die sieben Spitzenteams der

KNOW-HOW Zwischenablage
Die Zwischenablage ist ein fr besondere Zwecke reservierter, vorbergehend eingerichteter Speicherbereich. Sie erleichtert den Datenaustausch zwischen Dokumenten und Programmen. Jedes Objekt, das Sie mit den Befehlen Ausschneiden oder Kopieren bearbeiten, landet zunchst in der Zwischenablage. Vor dort aus kann es im nchsten Schritt an anderer Stelle wieder eingefgt werden.
CHIP | OFFICE KOMPAKT

Formel 1 ein, im Beispiel Ferrari, McLaren Mercedes, Williams BMW, Sauber Petronas, Jordan Honda, BAR Honda und Renault. Tragen Sie in die Zelle C4 die 3 Formel =WENN(B4>0;B4/SUMME ($ B$4:$B$10);"") ein. Markieren Sie anschlieend die Zelle 4 C4 und kopieren Sie die Formel ber das Men Bearbeiten und dann Kopieren in die Zwischenablage von Windows. Markieren Sie die Zellen von C5 bis 5 C10 und fgen Sie die Formel aus der Zwischenablage ber Bearbeiten und Einfgen wieder ein. Markieren Sie diesmal die Zellen von 6 C4 bis C10 und formatieren Sie sie ber Format, Zellen und den Eintrag Prozent als Prozentzahlen. Als nchstes soll das Arbeitsblatt so reagieren, dass es sobald der Benutzer einen Doppelklick auf einer Zeile ausfhrt die Anzahl der Stimmen fr dieses Rennteam in der Spalte B um den Wert 1 erhht. Wechseln Sie mit Alt+F11 in die 7 VBA-Entwicklungsumgebung. Markieren Sie in der Projektbersicht 8 des aktuellen VBA-Projekts die erste Tabelle mit einem Doppelklick. Whlen Sie zunchst links ber dem 9 Editor-Fenster das Objekt Worksheet aus und anschlieend auf der rechten Seite das Ereignis BeforeDoubleClick. Geben Sie zwischen Sub... und End 10 Sub den folgenden Code ein:
If Target.Row > 3 Then Cells(Target.Row, 2).Value = t Cells(Target.Row, 2).Value + 1 Cancel = True End If

59

Welches Formel 1 Team wird 2004 Weltmeister

Unkompliziert: Durch einen Doppelklick erhhen Sie den Wert in der Spalte Anzahl.

Dieses Ereignis tritt ein, wenn der Benutzer in dieser Tabelle einen Doppelklick auf eine beliebigen Zelle ausfhrt. Im Code wird als erstes geprft, ob die Zeile grer als 3 ist. Target ist die Zelle, auf der der Benutzer den Doppelklick ausgefhrt hat. Diese Variable wird an das automatische Makro als Parameter bergeben, und Sie haben in Ihrem Code darauf Zugriff. Befindet sich die doppelt angeklickte Zelle in der Tabelle ab Zeile 4, wird der Inhalt der Zelle in derselben Zeile, aber ausschlie-

lich in der Spalte 2, um 1 erhht. Und damit Excel anschlieend nicht in den Eingabemodus wechselt, was es normalerweise bei einem Doppelklick tut, wird der Parameter Cancel (Abbruch) auf den Wert True (wahr) gesetzt. Wollen Sie zur Sicherheit die Mglichkeit zu einer Korrektur bei einer Fehleingabe einbauen, knnen Sie beispielsweise festlegen, dass mit dem Klick der rechten Maustaste auf eine Zelle der Spalte Anzahl das Ergebnis wieder um 1 vermindert wird. k
CHIP | OFFICE KOMPAKT

60

VERSIONEN PROGRAMMIERUNG Makros ausfhren

LSUNGEN

TIPPS & TRICKS

Dazu whlen Sie zunchst im rechten Listenfeld ber dem Editor-Fenster das Ereignis BeforeRightClick, das auf den Klick mit der rechten Maustaste reagiert.

Fgen Sie in dem automatisch erzeugten Rumpf des Makros im Editor nach Sub die sehr hnlich aussehenden Programmzeilen

INFO

Ereignisse der Arbeitsmappe


Auf diese Ereignisse knnen Sie mit Hilfe eines automatischen Makros selbst reagieren: Activate Activate tritt ein, sobald der Benutzer diese Arbeitsmappe reaktiviert. AddinInstall Dieses Ereignis tritt ein, wenn es sich bei der Arbeitsmappe um ein Add-In (siehe Kasten auf s18) handelt und dieses Zusatzprogramm in Excel installiert wird. AddinUninstall Wird ausgefhrt, wenn es sich bei der Arbeitsmappe um ein Add-In handelt und dieses im Add-In-Manager entfernt wird. BeforeClose BeforeClose tritt als letztes Ereignis ein, bevor die Arbeitsmappe geschlossen wird. ber den Parameter Cancel knnen Sie das Schlieen verhindern. BeforePrint Das Makro zu diesem Ereignis wird ausgefhrt, bevor der Dialog zum Drucken angezeigt wird. Wird direkt gedruckt, wird es vor dem eigentlichen Druck ausgefhrt. ber den Parameter Cancel knnen Sie das Schlieen verhindern. BeforeSave Dieses Ereignis tritt ein, wenn der Benutzer die Arbeitsmappe speichern will. ber den Parameter Cancel knnen Sie das Speichern der Datei verhindern. Deactivate Wenn der Benutzer eine andere Arbeitsmappe whlt, tritt dieses Ereignis ein. NewSheet Legt der Benutzer eine neue Tabelle an, wird dieses Ereignis ausgelst. Open Dies ist das erste Ereignis, das nach dem Laden der XLS-Datei eintritt. WindowActivate Entspricht dem Ereignis Activate. WindowDeactivate Entspricht dem Ereignis Deactivate. WindowResize Dieses Ereignis tritt ein, wenn das Fenster der Arbeitsmappe vergrert oder verkleinert wird. Es tritt nicht ein, wenn der Benutzer das Anwendungsfenster selbst verndert. Zustzliche Sheet-Ereignisse Eine Arbeitsmappe verfgt ber zahlreiche Ereignisse wie SheetActivate oder SheetSelectionChange, die Sie global fr beliebige Tabellen steuern knnen.

CHIP | OFFICE KOMPAKT

61

If Target.Row > 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 berblick


Nun 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 Schule


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

KNOW-HOW Code-Modul
Ein 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.

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 ziehen


Die 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 Zeile
Function LottoZahl()

Erste Vorbereitung: Den VBA-Editor starten


Zunchst 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

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 * 49
CHIP | OFFICE KOMPAKT

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...

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).

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.

zahl = Int(zahl)

Umsatzsteuer automatisch berechnen


Normalerweise 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 = zahl
CHIP | 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 Funktionen


Excel-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 berprfen


Aber 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:

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 Zeile


End Function

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

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.

While I <= Len(Name)

Zudem bentigen Sie eine Variable, die sich merkt, ob das jeweils nchste Zeichen

Zunchst wird in der Schleife das Zeichen an der Stelle I ermittelt. Um das zu erreichen, verwenden Sie die VBAFunktion Mid(): k

CHIP | OFFICE KOMPAKT

68

VERSIONEN PROGRAMMIERUNG Eigene Funktionen LSUNGEN

TIPPS & TRICKS

Zeichen = Mid(Name, I, 1)

I = I + 1 Wend

Nun prfen Sie, welchen Inhalt die Variable Gross hat. Hat sie den Inhalt 1, wird das Zeichen in einen Grobuchstaben (mit der Funktion UCase = Upper Case fr Grobuchstaben) verwandelt, sonst in einen Kleinbuchstaben (LCase = Lower Case fr Kleinbuchstaben):

Nun bleibt nur noch die Aufgabe zu erledigen, der Funktion das Ergebnis als Rckgabewert zuzuweisen:

Normname = Ergebnis

If gross = 1 Then Zeichen = UCase(Zeichen) Else Zeichen = LCase(Zeichen) End If

Ab jetzt knnen Sie die Funktion NormName in dem Arbeitsblatt verwenden, um die Gro- und Kleinschreibung zu normieren. Steht etwa der eingegebene Text in Zelle A2, lautet die Formel, die diesen Zellinhalt normiert, so: =NormName(A2).

Das so umgewandelte Zeichen hngen Sie an die Ergebniszeichenkette an. Um Zeichenketten zu verknpfen, verwenden Sie als Operator das kaufmnnische Und-Zeichen &.

Ein Datum von Excel errechnen lassen


Im Grunde genommen ist fr Excel ein Datum nichts anderes als eine Zahl. Denn Excel rechnet bei allen Datumsangaben die Anzahl der Tage seit dem 31.12.1899. So entspricht der 1.1.1900 dem Wert 1 und zum Beispiel der 1.12.2002 dem numerischen Wert 37591. Diesen Umstand knnen Sie sich in eigenen Funktionen zunutze machen. Wollen Sie beispielsweise das Datum von heute in einer Woche ermitteln, wrde die Funktion folgendermaen lauten:
Function NaechsteWoche(Datum) NaechsteWoche = Datum + 7 End Function

Ergebnis = Ergebnis & Zeichen

Zuletzt prfen Sie noch, ob es sich bei dem gerade verarbeitete Zeichen um ein Leerzeichen handelt. Ist dies nmlich der Fall, wird die Variable gross mit dem Wert 1 belegt, um als nchstes einen Grobuchstaben zu verwenden.

If Zeichen = " " Then gross = 1 Else gross = 0 End If

Die Schleife beenden Sie, indem Sie die Laufvariable um den Wert 1 erhhen und die Schleife abschlieen.

So weit ist es auch noch ohne VBA recht leicht realisierbar. Schwieriger wird es ohne benutzerdefinierte Funktion, wenn es darum geht, den nach einem Datum kommenden Montag zu bestimmen. Beispiel:

CHIP | OFFICE KOMPAKT

69

Die Funktion beginnt wieder mit dem Funktionskopf:

INFO

Function NaechsterMontag(Datum)

Tabellenfunktionen verwenden
Der VBA-Editor besitzt sehr viele Funktionen zur Berechnung unterschiedlichster Formeln. Allerdings werden Sie nicht alle Tabellenfunktionen, die Sie von ExcelArbeitsblttern her kennen, auch als VBAFunktion vorfinden. ber einen kleinen Trick knnen Sie dennoch smtliche Funktionen nutzen, die Ihnen auch beim Erstellen von Formeln innerhalb einer Kalkulationstabelle zur Verfgung stehen. Wollen Sie beispielsweise das Minimum aus zwei Werten berechnen, so lautet die entsprechende Excel-Arbeitsblattfunktion Min.
M = Application t

Dann folgt eine Schleife, die prfen soll, um welchen Wochentag es sich bei dem von Ihnen eingegebenen Datum handelt. Solange es sich dabei nicht um den Montag handelt:

While Weekday(Datum) <> vbMonday

soll demnach das Datum jeweils um den Wert 1 erhht werden.


Datum = Datum + 1 Wend

Wenn die Verarbeitung wieder aus der 3 Schleife herauskommt, befindet sich in der Variablen das Datum des ersten Montags, der auf das als Parameter eingegebene Datum folgt. Damit liegt das gewnschte Ergebnis vor. Diesen Wert weisen Sie dann der Funktion als Ergebnis zu und beenden die Funktion somit:
NaechsterMontag = Datum End Function

.WorksheetFunction t .Min(123, 234)

Tragen Sie ein Datum in die Zelle A2 ein. Geben Sie dann in der Zelle B2 die Formel =NaechsteWoche(A2) und in der Zelle C2 die Formel =NaechsterMontag(A2) ein. Statt eines Datums erhalten Sie jedoch nur einen Wert. Formatieren Sie deshalb den Wert ab5 schlieend ber das Men Format als Datum. Ingo Bhme

Nach dem Aufruf der Funktion enthlt die Variable M den Wert 123. Der Nachteil dieser Art und Weise, in VBA Arbeitsblatt-Funktionen von Excel zu verwenden, ist einerseits, dass die Ausfhrung sehr viel langsamer erfolgt als bei der Verwendung echter VBA-Funktionen. Der zweite Nachteil vor allem fr deutschsprachige Benutzer ist, dass alle Arbeitsblatt-Funktionen von Excel nur in Englisch vorhanden sind. Wenn Sie aber Application.WorksheetFunction. eingeben, erscheint sofort nach dem Tippen des Punktes eine Auswahlliste aller verfgbaren Funktionen. Und mit Hilfe eines englischen Wrterbuches werden Sie schnell herausfinden, dass es sich zum Beispiel bei der Funktionen Sum um das bekannte Summe() oder bei Average() um den Mittelwert handelt.

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

70

VERSIONEN PROGRAMMIERUNG Eigene Formulare LSUNGEN

TIPPS & TRICKS

Formulare selbst gestalten

Auf Heft-CD

Eigene Anwendungen:
1

Makros sind der erste Schritt, um stets wiederkehrende Aufgaben zu automatisieren. Wenn Sie die Verarbeitung noch flexibler machen mchten, sind individuell gestaltete Formulare der beste Weg zum Ziel.

10

eben Funktionen, Makros und automatischen Makros, die auf Ereignisse der Arbeitsmappe beziehungsweise der Tabelle reagieren, gibt es in VBA eine weitere Komponente: die benutzerdefinierten Formulare. Diese Formulare knnen Sie aus einem Satz von Steuerelementen (s. Kasten s73) beliebig zusammenstellen. Auf diese Weise lassen sich zum Beispiel hilfreiche Statusdialoge erzeugen, die am Ende einer Maske pro Verarbeitung einen detaillierten Statusbericht liefern. Oder Sie knnen mit Hilfe eines solchen Formulars einen Euro-Rechner entwickeln oder als Freiberufler Ihre Einnahmen und Ausgaben samt Rechnungsstellung und Rechnungsverwaltung ber eine Maske steuern.
CHIP | OFFICE KOMPAKT

Foto: S. Grewe

71

DER FORMULAR-EDITOR
2 3 6 4 5
DIE STEUERELEMENTE AUS DER WERKZEUGSAMMLUNG
Objekt auswhlen: Mit dem Pfeilwerkzeug whlen Sie die Elemente des Formulars aus Bezeichnungsfeld: Dient zur Beschriftung von Steuerelementen Textfeld Kombinationsfeld Listenfeld Kontrollkstchen Optionsfeld Umschaltfeld: Schaltflche, die nach einem Klick gedrckt bleibt Rahmen: Rahmen, um andere Steuerelemente zu gruppieren Befehl-Schaltflche: Um Aktionen auszufhren Register: Register ohne automatische Seitenverwaltung Multiseiten: Registerdialog-Element mit mehreren Seiten Bildlaufleiste: Vertikale oder horizontale Bildlaufleiste Drehfeld: Zum Hoch- und Runterzhlen eines Wertes Anzeige: Zum Darstellen von Bildern RefEdit: Auswhlen von Zellbereichen

72

VERSIONEN PROGRAMMIERUNG Eigene Formulare LSUNGEN

TIPPS & TRICKS

START
Mit dieser Schaltflche starten Sie 1 nicht nur Makros, sondern aktivieren auch Ihre Formulare.

STOPP
Ein Formular beenden Sie wahlweise 2 mit einem Klick auf dessen X-Schaltflche in der Titelzeile rechts oben oder mit dieser Symbol-Schaltflche.

einem Formular anordnen knnen. Halten Sie den Mauszeiger kurz ber einem der Eintrge, ohne diesen anzuklicken, um in einem Hilfe-Fenster Auskunft zu erhalten, um welches Steuerelement es sich handelt.

EIGENSCHAFTEN-FENSTER
In diesem Fenster werden alle Eigenschaften des Objekts aufgelistet, das in der Entwicklungsansicht markiert ist. Links in der Tabelle stehen die Eigenschaftennamen und rechts deren Inhalt.

DIE ENTWICKLUNGSANSICHT
In der Entwicklungsansicht knnen Sie das Formular und die Steuerelemente beliebig formatieren.

NAME UND TYP


Hier sehen Sie, welches Steuerelement aktuell im Formular ausgewhlt ist. Der linke, fett gedruckte Text gibt den Namen des Steuerelements und der rechte Text dessen Typ an.

AKTUELLES STEUERELEMENT
Das aktuelle Steuerelement erkennen Sie an dem Rahmen und den acht Eckpunkten.

FORMULAR
Dabei handelt es sich um das derzeit in der Entwicklungsansicht des Editors dargestellte Formular.

GESTALTUNGSPUNKTE
Mit Hilfe der Gestaltungspunkte 5 knnen Sie die Gre des Steuerelements mit der Maus beeinflussen.

AKTUELLES PROJEKT
Alle Makros, Funktionen und Formulare gehren zur Excel-Datei, genauso wie die Tabellen selbst.

DIE WERKZEUGSAMMLUNG

In der Werkzeugsammlung finden Sie alle Steuerelemente, die Sie auf

10

Ein neues Formular anlegen


Zunchst erzeugen Sie in diesem Beispiel zu Testzwecken ein eigenes Formular. Starten Sie Excel mit einer neuen 1 Arbeitsmappe. Speichern Sie diese ber Datei, 2 Speichern unter unter dem Namen
CHIP | OFFICE KOMPAKT

Testformular.xls in einem beliebigen Ordner auf der Festplatte. ffnen Sie den Visual-Basic-Editor 3 ber den Menpunkt Extras, Makro, und Visual Basic-Editor. Markieren Sie im Projektfenster den 4 Eintrag VBAProject (Testformular. xls), und fgen Sie ber den Menpunkt

73

Einfgen, UserForm ein neues Formular zu Ihrer Arbeitsmappe hinzu. Dieses Formular erscheint im aktuellen Projekt im neuen Ordner Formulare als Eintrag UserForm1. Gleichzeitig sehen Sie das leere Formular dort, wo sonst der TextEditor von VBA zu sehen ist. In der Entwurfsansicht ordnen Sie dabei Schaltflchen, Listen- und Textfelder sowie die brigen Elemente, die ein WindowsFenster ausmachen, nach Belieben an. Die Vorgehensweise ist dabei hnlich wie in Grafikprogrammen, etwa bei Corel Draw: In der Werkzeugsammlung klicken Sie 1 zunchst auf das Steuerelement, das Sie auf Ihrem Formular plazieren wollen, etwa auf die Befehl-Schaltflche (zweite Reihe, rechts auen). Das Element wird in das Formular eingefgt und kann nun nach Ihren Wnschen verschoben und skaliert werden. Dazu dienen die acht viereckigen Rahmenpunkte des Elements. Klicken Sie einen Punkt an und halten Sie die Maustaste gedrckt, dann knnen Sie die Gre des Steuerelements verndern. Das Steuerelement verschieben Sie, indem Sie es anklicken und die Maustaste gedrckt halten. Sobald sich der Rahmen des Elements verndert, knnen Sie durch Verschieben der Maus das Steuerelement auf dem Formular versetzen. Klicken Sie auf die rechte untere Ecke 2 des Elements. Ziehen Sie es bei gedrckter Maustaste nach rechts unten auf. Sobald es die gewnschte Gre hat, lassen Sie die Maustaste wieder los. Sobald Sie die Maustaste loslassen, 3 ist in der Werkzeugsammlung wieder das Pfeilwerkzeug links oben aktiv. Dieses Werkzeug bentigen Sie, um Steuerelemente

oder das Formular auszuwhlen. Klicken Sie nun auf eine beliebige leere Flche innerhalb des Formulars. Suchen Sie im Fenster Eigenschaften 4 den Punkt Caption. Der Inhalt dieser Eigenschaft bestimmt die Beschriftung des aktuellen Elements. Da wir derzeit das Formular ausgewhlt haben, legen wir hier den Fenstertitel fest. Tragen Sie rechts neben Caption den Text Mein erstes Fenster ein. Noch whrend Sie tippen, ndert sich auch im Formular der Fenstertitel. Markieren Sie nun wieder die von 5 Ihnen erzeugte Schaltflche, indem Sie sie mit dem Pfeilwerkzeug auswhlen. Achten Sie darauf, dass sich die Bezeichnungen und deren Inhalte im Fenster Eigenschaften verndern. Sie zeigen nun die Eigenschaften der Schaltflche an. Tragen Sie als Inhalt der Eigenschaft 6 Caption der Schaltflche den Text ein, der auf der Schaltflche angezeigt werden soll, etwa Klick mich!. Fhren Sie auf die Schaltflche 7 einen Doppelklick aus. Es ffnet sich der Text-Editor. Links oben im ausklappbaren Listenfeld sehen Sie den Namen des k

KNOW-HOW Steuerelemente
Jedes Fenster in Windows besteht aus einer relativ kleinen Zahl unterschiedlicher Steuerelemente. Zu diesen Elementen zhlen Schaltflchen ebenso wie Optionsfelder, Listen- und Eingabefelder. Aus diesen vielen verschiedenen Elementen knnen Sie Ihre Formulare selbst nach Bedarf zusammenstellen und mit Hilfe von Codes zum Leben erwecken.

CHIP | OFFICE KOMPAKT

74

VERSIONEN PROGRAMMIERUNG Eigene Formulare LSUNGEN

TIPPS & TRICKS

doppelt angeklickten Steuerelements Ihres Formulars. Im rechten Listenfeld erscheint das wichtigste Ereignis (siehe Kasten unten) dieses Steuerelements. Bei einer Schaltflche handelt es sich um das Ereignis Click, also das Ereignis, das eintritt, wenn der Benutzer beim Ausfhren des Formulars mit der Maus auf die Schaltflche klickt. Der Rumpf zu diesem Ereignis wird 8 von VBA automatisch erstellt. Geben Sie als Code einfach nur
MsgBox "Danke!"

ein, so dass ein Klick auf die Schaltflche lediglich einen kleinen Meldungsdialog am Bildschirm ausgibt.

Ausfhren eines Formulars


hnlich wie bei einem normalen Makro gibt es mehrere Arten, ein Formular auszufhren. Die simpelste Art ist ein Test in der Entwicklungsumgebung: Fhren Sie in der Projektbersicht 1 einen Doppelklick auf dem Eintrag

KNOW-HOW Ereignis
Windows ist ein sogenanntes ereignisorientiertes Betriebssystem. Jedes Element in Windows von Fenstern ber Schaltflchen bis hin zu Bildlaufleisten oder Icons kann verschiedene Ereignisse auslsen, auf die das Betriebssystem reagiert. Tritt zum Beispiel das Ereignis Doppelklick bei einem Programmsymbol ein, so startet Windows das mit diesem Symbol verbundene Programm.

UserForm1 aus. Das Formular erscheint in der Entwicklungsansicht. Klicken Sie in der Symbolleiste auf das 2 Symbol fr den Befehl Sub/UserForm ausfhren. Das ist das nach rechts weisende Dreieck. Nun wird Ihr Formular ausgefhrt. 3 Die Entwicklungsumgebung verschwindet, und das Formular wird ber dem normalen Excel-Arbeitsblatt eingeblendet. Klicken Sie nun auf die Schaltflche mit dem Namen Klick mich!. Es erscheint erwartungsgem der Dialog, den Sie im VBACode festgelegt haben. Um zur Entwicklungsumgebung zu4 rckzukehren, schlieen Sie das Formularfenster, indem Sie wie gewohnt oben rechts in der Titelzeile des Fensters auf die X-Schaltflche klicken. Wollen Sie das Formular allerdings von Excel aus aufrufen, ist die Vorgehensweise nicht ganz so einfach, denn im Gegensatz zu einem Makro kann ein Formular nicht direkt ber das Men oder ein Tastenkrzel aktiviert werden. Stattdessen mssen Sie hier ber Bande spielen und erst ein Makro schreiben, mit dem das gewnschte Formular aufgerufen wird: Markieren Sie nun im Projektfenster 1 den Eintrag VBAProject (Testformular.xls), und fgen Sie ber den Menpunkt Einfgen, Modul zu Ihrer Arbeitsmappe ein neues Makro-Modul hinzu. Dieses Modul erscheint daraufhin im aktuellen Projekt im neuen Ordner Module als Eintrag mit dem Namen Modul1. Fhren Sie auf Modul1 einen Dop2 pelklick aus. Daraufhin ffnet sich das Fenster des Text-Editors. Tragen Sie hier folgenden Code ein:

CHIP | OFFICE KOMPAKT

75

Keinerlei Einschrnkungen: Formulare knnen aus allen bekannten Fensterelementen wie zum Beispiel Schaltflchen, Listen- und Eingabefeldern zusammengestellt werden.

Sub FormularStarten() UserForm1.Show End Sub

Erweitern Sie jetzt die Funktion FormularStarten, indem Sie dem Aufruf des Formulars zustzlich den Parameter False anhngen:
UserForm1.Show False

Wechseln Sie zurck zu Excel und ffnen Sie den Makro-Auswahldialog ber Extras, Makro, Makros. Starten Sie das Makro FormularStar4 ten mit einem Doppelklick. Jetzt ffnet sich das von Ihnen gestaltete Fenster. An die dahinter liegende Arbeitsmappe gelangen Sie allerdings nicht. Oftmals ist es aber sinnvoll, dass ein Fenster dem Benutzer zugesteht, weiterhin nderungen an einer Arbeitsmappe vorzunehmen. Wechseln Sie ber Alt+F11 zur 1 VBA-Entwicklungsumgebung. Doppelklicken Sie auf den Eintrag 2 Null1 innerhalb der Arbeitsmappe.

Wechseln Sie zurck zu Excel und starten Sie das Makro FormularStarten erneut. Nun knnen Sie auch in Excel selbst navigieren.

Formulare um weitere Aktionen erweitern


Als zweiten Schritt werden Sie nun ein weiteres Formular anlegen, mit dem etwas mehr Interaktion als nur ein Mausklick mglich ist. Dort knnen Sie zum Beispiel Texte zu einer Liste hinzufgen. k
CHIP | OFFICE KOMPAKT

76

VERSIONEN PROGRAMMIERUNG Eigene Formulare LSUNGEN

TIPPS & TRICKS

Wechseln Sie wie gewohnt mit der Tastenkombination Alt+F11 in die VBA-Entwicklungsumgebung, um ein neues Formular anzulegen. Erstellen Sie ber die Befehle Einf2 gen und UserForm ein neues, leeres Formular. Dieses trgt den automatisch vergebenen Namen UserForm2. Ordnen Sie auf diesem Formular mit 3 Hilfe der Steuerelemente aus der Werkzeugsammlung ein Bezeichnungs- und ein Textfeld nebeneinander an. Ziehen Sie darunter ein Listenfeld auf und erstellen Sie darunter eine Befehl-Schaltflche, wie im vorherigen Beispiel beschrieben. Beschriften Sie die Schaltflche ent4 sprechend der bereits beschriebenen Methode mit dem Text Zur Liste hinzufgen und das Bezeichnungsfeld mit Name. Das kleine Formular, das Sie soeben vorbereitet haben, soll folgende Funktion erfllen: Gibt der Benutzer in dem Textfeld einen Namen ein und klickt auf die Schaltflche Zur Liste hinzufgen, dann soll dieser Text

in eine Liste eingetragen werden. Danach wird der Inhalt des Textfeldes automatisch gelscht, um Ihnen die umgehende Eingabe des nchsten Listeneintrags in das Formular zu ermglichen. Fhren Sie auf die Schaltflche einen 1 Doppelklick aus. Zwischen den Zeilen Sub... und End Sub fgen Sie jetzt den Makro-Code ein, der ausgefhrt werden soll, sobald der Benutzer auf die Schaltflche des Formulars klickt. Im ersten Schritt des Programmes 2 weisen Sie einer Variablen den Inhalt des Textfeldes zu:
S = TextBox1.Text

INFO

Die Methode SetFocus


Ganz gleich, wie viele Elemente in einem Formular oder Fenster angezeigt werden, nur eines davon ist zu einem bestimmten Zeitpunkt aktiv. In diesem Fall besitzt das Element den Fokus, und Windows bezieht Tastatur- oder Mauseingaben auf dieses Element. Mit der Methode Set Focus knnen Sie einem Element in Ihrem VBA-Code den Fokus explizit zuweisen, das Element wird also aktiviert.

Die jeweiligen Namen der einzelnen Steuerelemente hier: TextBox1 knnen Sie ganz einfach abrufen, indem Sie das Steuerelement markieren. Der Name wird daraufhin im Eigenschaften-Fenster in der Zeile (Name) angezeigt. Dort knnen Sie den Namen brigens auch beliebig verndern und etwas aussagekrftiger gestalten, falls er Ihnen nicht gefllt. Im nchsten Programmschritt des 3 Makros wird berprft, ob der Inhalt der Variablen S leer ist oder ob ein Text darin gespeichert ist.
If S <> "" Then

Ist S nicht leer, wird dem Listenfeld der Inhalt von S hinzugefgt:
ListBox1.AddItem S

Andernfalls soll ein Fehlerton aus dem Lautsprecher erklingen:

CHIP | OFFICE KOMPAKT

77

Sofort getestet: Das zweite Beispielformular sehen Sie in der Entwicklungsumgebung und unten rechts in Aktion. Nacheinander wurden die Namen in die Liste eingegeben.

Else Beep End If

Zuletzt wird das Textfeld durch die Zuweisung einer leeren Zeichenkette gelscht und ber die Methode SetFocus (siehe Kasten auf der linken Seite) zum aktiven Steuerelement des Formulars:

TextBox1.Text = "" TextBox1.SetFocus

Sie knnen das Formular sofort auf seine Funktionsweise testen, indem

Sie es ber die Taste F5 oder das Men Ausfhren und den Befehl Sub/UserForm ausfhren starten. Um dem Benutzer die Bedienung zu erleichtern, soll er seine Eingabe auch mit der Eingabetaste abschlieen knnen, ohne extra die Schaltflche Hinzufgen mit der Maus anklicken zu mssen: Markieren Sie mit dem Pfeilwerkzeug 1 die Schaltflche. ndern Sie die Eigenschaft Default 2 von False in True. Nun wird die Schaltflche auch angesprochen, wenn der Benutzer statt der Maustaste die Eingabetaste drckt. Ingo Bhme
CHIP | OFFICE KOMPAKT

78

Datumsberechnung: Feiertage ermitteln

Auf Heft-CD

Wann ist nchstes Jahr Ostern?


Das Rechnen mit Datumsangaben ist in Excel genauso simpel wie das Rechnen mit Zahlen. Um Feiertage fr das ganze Jahr oder fr die kommenden Jahre zu berechnen, bentigen Sie allerdings ein wenig zustzliches Know-how.

KNOW-HOW Operatoren
Jede Rechenoperation setzt sich aus den Operanden den Werten und den Operatoren zusammen, die die Art der Operation festlegen. Beispiele fr Operatoren sind die ganz normalen Zeichen der Grundrechenarten wie + oder .

atumsangaben sind in Excel im Grunde nichts anderes als Zahlen. Gerechnet wird vom 1.1.1900 an, wobei dieses Datum dem Wert 1 entspricht. Der darauf folgende Tag also der 1.1.1900 hat den Wert 2 und so weiter. Diese Festlegung macht es leicht, in Excel mit Datumswerten zu rechnen, da Sie dazu die normalen Operatoren (siehe Kasten links) einsetzen knnen, die Sie bei Zahlen verwenden.

CHIP | OFFICE KOMPAKT

VERSIONEN

PROGRAMMIERUNG LSUNGEN Feiertage ermitteln TIPPS & TRICKS

79

Fast alle Feiertage haben einen kirchlichen Ursprung. Deshalb ist es nicht verwunderlich, dass die meisten Feiertage sich an den Daten von Ostern und Weihnachten orientieren. Wir zeigen Ihnen in diesem Beitrag, wie Sie smtliche Feiertage fr jedes beliebige Jahr berechnen. So knnen Sie knftig Ihre Urlaubstage perfekt planen vorausgesetzt natrlich, Ihr Chef und Ihre Kollegen sind mit Ihren Vorstellungen einverstanden. Aber da Sie ja weit im voraus planen knnen, bekommen Sie sicher ein paar clever ausgewhlte Kurzurlaube genehmigt.

zu. Dieses erscheint im aktuellen Projekt im neuen Ordner Module als Eintrag mit dem Namen Modul1. Fhren Sie auf den Eintrag Modul1 5 einen Doppelklick aus. Daraufhin ffnet sich im Editor-Fenster eine leere Quelltext-Datei fr Ihre Eintrge.

Mit einer Formel das Osterdatum berechnen


Ostern ist ein beweglicher Feiertag, das heit, die Feiertage fallen in jedem Jahr auf ein anderes Datum. Das erste Kirchenkonzil legte im Jahre 325 fest, dass Ostern immer am ersten Sonntag nach dem ersten Vollmond nach Frhlingsbeginn ist. Da der k

Excel fr die Berechnung der Feiertage vorbereiten


Starten Sie Excel mit einer neuen Arbeitsmappe. Speichern Sie sie 2 zunchst mit dem Befehl Speichern unter aus dem Men Datei unter dem Namen Feiertage.xls in einem beliebigen Ordner. ffnen Sie nun 3 den Visual-BasicEditor ber den Menpunkt Extras, Makro, Visual Basic-Editor. Markieren Sie dar4 aufhin im Projektfenster den Eintrag VBAProject (Feiertage.xls), und fgen Sie ber den Menpunkt Einfgen, Modul ein neues Makro-Modul zu Ihrer Arbeitsmappe hin-

Gewusst wie: Mit Hilfe der Oster-Formel des Mathematikers Gau knnen Sie in Visual Basic fr Applikationen schnell und unkompliziert das Datum des Ostersonntags berechnen.

CHIP | OFFICE KOMPAKT

80

VERSIONEN

PROGRAMMIERUNG LSUNGEN Feiertage ermitteln TIPPS & TRICKS

Frhlingsbeginn der 21. Mrz die Tagund-Nachtgleiche ist, fllt Ostern also in den Zeitraum zwischen dem 22. Mrz und dem 25. April. Der deutsche Mathematiker Carl Friedrich Gau (17771855) entwickelte im Jahre 1800 seine Osterformel. Damit lsst sich der Ostersonntag von 1583 bis 8202 berechnen. Da Excel seine Zeitrechnung erst im Jahre 1900 beginnt, knnen Sie eine vereinfachte Variante fr VBA verwenden. Geben Sie im VBA-Editor die folgende 1 Funktion ein:
Function OsterSonntag(Jahr) Dim D As Integer D = (((255 - 11 * (Jahr Mod t 19)) - 21) Mod 30) + 21 OsterSonntag = t DateSerial(Jahr, 3, 1) t + D + (D > 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-

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:

Function Pfingsten(Jahr)

Feiertage, die direkt von Ostern abhngen


Ausgehend 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.

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

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

Smtliche Feiertage um Weihnachten berechnen


Neben 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 k
CHIP | OFFICE KOMPAKT

Function Karfreitag(Jahr) Karfreitag = OsterSonntag(Jahr) - 2 End Function

Genau 39 Tage nach dem Ostersonntag und damit immer an einem Donnerstag ist Christi Himmelfahrt. Dieser Feiertag wird auerhalb der Kirche auch gerne einmal als Vatertag bezeichnet.

Function ChristiHimmelfahrt(Jahr) ChristiHimmelfahrt = t OsterSonntag(Jahr) + 39 End Function

82

VERSIONEN

PROGRAMMIERUNG LSUNGEN Feiertage ermitteln TIPPS & TRICKS

Genau festgelegt: Einige Feiertage werden mit Bezug auf den 1. Advent berechnet.

VBA die Funktion DateSerial zur Verfgung, der Sie drei Parameter zur Berechnung des Datums bergeben: Jahr, Monat und Tag. Das Ergebnis ist ein Datumswert, also die Tage seit dem 1.1.1900.
Function Advent4(Jahr) D = DateSerial(Jahr, 12, 24)

(siehe Kasten s84) vbSunday verwenden, damit der Code leichter lesbar wird:
While Weekday(D) <> vbSunday D = D - 1 Wend

Nun mssen Sie von diesem Datum so oft den Wert 1 abziehen, bis es sich um einen Sonntag handelt. Um festzustellen, um welchen Wochentag es sich bei einem Datum handelt, verwenden Sie die VBA-Funktion Weekday. Sie erhlt als Parameter das Datum und liefert einen Wert zwischen 1 (Sonntag) und 7 (Samstag) zurck. Alternativ zu der Zahl 1 fr Sonntag knnen Sie auch die symbolische Konstante

Zuletzt mssen Sie nur noch den Rckgabewert der Funktion festlegen, und schon ist das Datum des vierten Advents exakt berechnet:

Advent4 = D End Function

Aufbauend auf dem 4. Adventstag berechnen Sie die brigen Adventstage bis hin zum 1. Advent:

Function Advent1(Jahr)

CHIP | OFFICE KOMPAKT

83

Advent1 = Advent4(Jahr) - 21 End Function

Volkstrauertag = Advent1(Jahr) - 14 End Function

Ausgehend vom Datum fr den 1. Advent ermitteln Sie die Daten fr den Totensonntag, den Bu- und Bettag sowie den Volkstrauertag, die von diesem Datum ausgehend berechnet werden mssen. (Nicht vergessen: Manche dieser Feiertage gelten nur in einigen Bundeslndern.)

Andere wichtige Feiertage und Gedenktage im Jahr


Neben den beweglichen kirchlichen und weltlichen Feier- beziehungsweise Gedenktagen wie beispielsweise Ostern, Pfingsten, Fronleichnam, Christi Himmelfahrt oder dem Volkstrauertag gibt es drei weitere wichtige Daten im Jahr, die auf kein festes Datum fallen. Hierbei handelt es sich einerseits um den Muttertag und andererseits um die Zeitumstellung, die in ganz Europa gilt. Hier wird im Mrz auf die Sommer- und im Oktober auf die Winterzeit umgestellt. Auch diese Daten knnen Sie mit Hilfe einer VBAFunktion berechnen. k

Function Totensonntag(Jahr) Totensonntag = Advent1(Jahr) - 7 End Function Function BussUndBettag(Jahr) BussUndBettag = Advent1(Jahr) - 11 End Function Function Volkstrauertag(Jahr)

Erinnerungssttze: Wenn Sie im VBA-Editor eine Funktion verwenden, zeigt Ihnen ein automatisch erscheinendes Hilfe-Fenster, welche Parameter die Funktion erwartet.

CHIP | OFFICE KOMPAKT

84

VERSIONEN

PROGRAMMIERUNG LSUNGEN Feiertage ermitteln TIPPS & TRICKS

Der Muttertag ist immer der zweite Sonntag im Mai. Anders gesagt: Muttertag ist der erste Sonntag nach dem 7. Mai. Zur Berechnung des Muttertags ermitteln Sie also zunchst den Datumswert vom 8. Mai des entsprechenden Jahres:

letzte Sonntag im Mrz. Wie beim Muttertag ermitteln Sie zuerst das Datum fr den 31. Mrz und ziehen dann so lange den Wert 1 ab, bis das Ergebnis ein Sonntag ist.
Function SommerzeitAnfang(Jahr) D = DateSerial(Jahr, 3, 31) While Weekday(D) <> vbSunday D = D - 1 Wend SommerzeitAnfang = D End Function

Function Muttertag(Jahr) D = DateSerial(Jahr, 5 8)

Prfen Sie, ob dieses Datum auf 2 einen Sonntag fllt. Ist dies nicht der Fall, erhhen Sie es um den Wert 1:
While Weekday(D) <> vbSunday D = D + 1 Wend

Das Ende der Sommerzeit ist am letzten Sonntag im Oktober erreicht. Der Unterschied zur Funktion SommerzeitAnfang besteht lediglich in der Berechnung des Startdatums, das hier ausgehend vom 30. Oktober berechnet wird:

Das so ermittelte Datum weisen Sie dann der Funktion als Ergebnis zu:
Muttertag = D

Function SommerzeitEnde(Jahr) D = DateSerial(Jahr, 10, 30) While Weekday(D) <> vbSunday D = D - 1 Wend SommerzeitEnde = D End Function

End Function

Der Tag, an dem von Winter- auf Sommerzeit umgestellt wird, ist der

KNOW-HOW Symbolische Konstante


Eine symbolische Konstante ist eine Bezeichung, die VBA 1:1 einem konkreten Wert zuordnet. So sind zum Beispiel die einzelnen Wochentage durchnummeriert. Statt der abstrakten Ziffern 1 (= Sonntag) bis 7 (= Samstag) knnen Sie hier auch die leichter zu merkenden symbolischen Konstanten vbSunday, vbMonday, vbTuesday, vbWednesday, vbThursday, vbFriday und vbSaturday verwenden.

Eine bersicht aller Feiertage einrichten


Nun besitzen wir das ntige Rstzeug, um eine bersicht der beweglichen Feier- und Gedenktage anzulegen. Dazu fassen wir alle Funktionen in einer Tabelle zusammen und berechnen die Feiertage der nchsten Jahre. Tragen Sie in die Spalte A ab der Zeile 2 die Namen der Feiertage ein. Sie knnen sie auch direkt aus der Abbildung rechts bernehmen.

CHIP | OFFICE KOMPAKT

85

Tragen Sie in die Zeile 1 ab der Spalte B die Jahreszahlen ein, fr die Sie die Feiertage berechnen wollen. Geben Sie in Zelle B2 die Formel 3 =Rosenmontag(B$1) ein. Tragen Sie in die Zellen B3 bis B22 die jeweils zum Feiertag passende Formel ein. Markieren Sie den Bereich von B2 bis 4 B22. Formatieren Sie die Zellen mit Format, Zelle als Datum. Lassen Sie die Markierung bestehen 5 und kopieren Sie ber den Menpunkt Bearbeiten, Kopieren die Formeln dieses Bereichs samt der Formatierung in die Zwischenablage von Windows.

Markieren Sie alle Zellen unter den Jahreszahlen in der Zeile 2. Fgen Sie ber den Menpunkt Bearbeiten, Einfgen den zuvor kopierten Bereich aus der Zwischenablage in das Arbeitsblatt ein. Nun erscheinen die errechneten Daten am Bildschirm. Da Sie bei den Formeln den Zellbezug mit Hilfe des Dollarzeichens $ vor der Zeilenangabe auf die Zeile 1 fixiert haben, ist es mglich, die Datumstabelle innerhalb der verschiedenen Jahre zu sortieren die Formeln passen sich dennoch automatisch an. Gestalten und formatieren Sie die Tabelle nach Ihren Vorstellungen und drucken Sie sie aus. Ingo Bhme

Urlaubsplanung im Nu: Wenn Sie die verschiedenen Funktionen zur Berechnung der beweglichen Feier- und Gedenktage in einer Tabelle zuammenfassen, wissen Sie schon lange im Vorfeld genau, wann die freien Tage besonders gnstig liegen. So knnen Sie durch geschickte Planung alle Brcken- und Urlaubstage perfekt nutzen.

CHIP | OFFICE KOMPAKT

86

Auf Heft-CD

Einkommensteuer berechnen

So rechnet der Fiskus


Ob angestellt oder freiberuflich ttig alle mssen Steuern zahlen. Haben Sie Ihre Lohn- oder Einkommensteuer-Erklrung bisher von Hand ausgefllt? Das muss nicht sein: CHIP zeigt, wie Sie Ihre Steuerschuld mit Excel berechnen.

ie Berechnung der deutschen Einkommensteuer ist auf den ersten Blick ein Buch mit sieben Siegeln. Da ist die Rede von Einkommensgrenzen, Steuerproportion und -progression dazu kommen zahlreiche Paragraphen in schwer verstndlichem Deutsch und etliche Ausnahme- und Sonderregelungen. Kein Wunder, dass unter vielen Menschen sogar die irrige Meinung kursiert, man bekme bei einer Gehaltserhhung manchmal weniger heraus, als man zuvor auf seinem Gehaltszettel stehen hatte.
CHIP | OFFICE KOMPAKT

In diesem Beitrag entwickeln wir gemeinsam mit Ihnen ein Arbeitsblatt, mit dessen Hilfe Sie genau berechnen knnen, was Sie bei einem beliebigen Jahreseinkommen oder -gehalt an Steuerabgaben an den Staat zu zahlen haben. Zwar ersetzt dieses Arbeitsblatt nicht den Weg zum Steuerberater oder die Verwendung eines ausgefeilten Einkommensteuerprogramms, es hilft Ihnen jedoch dabei, sich im Vorfeld darber klar zu werden, wieviel Sie voraussichtlich zahlen mssen und was bei einer Gehaltserhhung tatschlich am Ende brigbleibt.

Foto: M. Fiorito

VERSIONEN

PROGRAMMIERUNG LSUNGEN Steuer berechnen TIPPS & TRICKS

87

Die Arbeitsmappe vorbereiten


Die Basis der Kalkulation ist die Berechnung der Einkommensteuer, wie sie im Einkommensteuergesetz in 32a festgelegt ist. Dort finden Sie die Berechnung im Detail erklrt allerdings in Juristendeutsch, weshalb wir den Text zunchst in eine verstndlichere Sprache bertragen und dann gleich in einer VBA-Funktion umsetzen wollen. Legen Sie deswegen zuerst in Excel ein neues VBA-Projekt in einer separaten Arbeitsmappe an: Starten Sie Excel mit einer neuen 1 Arbeitsmappe. Speichern Sie die Datei mit dem Be2 fehl Speichern unter im Men Datei unter dem Namen Einkommensteuer.xls in einem beliebigen Ordner. ffnen Sie den Visual-Basic-Editor 3 ber den Menpunkt Extras, Makro und Visual Basic-Editor. Markieren Sie im Projektfenster den 4 Eintrag VBAProject (Einkommensteuer.xls) und fgen Sie anschlieend ber den Menpunkt Einfgen, Modul ein neues Makro-Modul zu Ihrer Arbeitsmappe hinzu. Dieses erscheint im aktuellen Projekt im neuen Ordner Module als Eintrag mit dem Namen Modul1. Fhren Sie auf den Eintrag Modul1 5 einen Doppelklick mit der Maus aus. Daraufhin ffnet sich im Editor-Fenster eine leere Quelltext-Datei.

VBA-Funktion soll als Parameter das Jahreseinkommen erhalten und als Rckgabewert (siehe Kasten unten) die berechnete Einkommensteuer liefern. Die Funktion unterscheidet dabei vier Einkommensbereiche, die jeweils nach unterschiedlichen Formeln behandelt werden. Zur Berechnung der Einkommen1 steuer wird nicht Ihr tatschliches Jahreseinkommen herangezogen, sondern ein speziell gerundeter Wert. Dabei nimmt man zunchst den Betrag des Jahreseinkommens und rundet ihn auf den nchstkleineren Euro-Wert ab, der durch 36 teilbar ist. Ist das Jahreseinkommen selbst bereits durch 36 teilbar, lsst man es, wie es ist.
Function Steuer(Betrag) Betrag = Int(Betrag / 36) * 36

Dabei wird zunchst der Betrag durch 36 geteilt, mittels der Funktion Int werden die Nachkommastellen abgeschnitten, das Ergebnis wird dann wieder mit 36 multipliziert. Zu diesem Betrag zhlt man anschlieend 18 Euro dazu. Das Ergebnis nennt man das zu versteuernde Einkommen. k

KNOW-HOW Rckgabewert
Eine Funktion fhrt mit einem oder mehreren vernderbaren Parametern eine vorgegebene Berechnung durch. Bei dem Wert, der anschlieend in der Zelle angezeigt wird also das Ergebnis der Berechnung , handelt es sich um den sogenannten Rckgabewert. Dieser Wert kann wie jede andere normale Zahl beispielsweise als Whrung formatiert werden.
CHIP | OFFICE KOMPAKT

Die Berechnung der Einkommensteuer


Der erste Schritt fr dieses Excel-Projekt ist die Berechnung der Einkommensteuer nach 32a des Einkommensteuergesetzes. Die

88

VERSIONEN

PROGRAMMIERUNG LSUNGEN Steuer berechnen TIPPS & TRICKS

Halb so kompliziert: Je hher Ihr Einkommen ist, desto hher ist der Prozentsatz der Einkommensteuer. Wie Sie in der Tabelle sehen knnen, steigt anfangs der Prozentsatz bei der Besteuerung recht stark und spter deutlich geringer.

Betrag = Betrag + 18

ElseIf Betrag <= 9251 Then y = ((Betrag - 7200) / 10000) Steuer = Int((768.85 * y + 1990) * y)

Auf Grundlage des zu versteuernden 2 Einkommens kommt nun jeweils eine unterschiedliche Steuerformel zum Einsatz. Doch zunchst gilt es, eine Ausnahme zu bercksichtigen, bevor Ergebnisse berechnet werden: Fr alle Einkommen bis inklusive 7.235 Euro fllt keine Einkommensteuer an.
If Betrag <= 7235 Then Steuer = 0

Fr hhere Einkommen, die jedoch einen Betrag von 55.007 Euro nicht berschreiten, gilt die zweite Steuerklasse. Die entsprechende Besteuerung wird mit Hilfe der folgenden Formel berechnet:

ElseIf Betrag <= 55007 Then z = ((Betrag - 9216) / 10000) Steuer = Int((278.65 * z + 2300) * z + 432)

Wer mehr als 7.235 Euro, aber maximal 9.251 Euro verdient, der landet in der sogenannten ersten Steuerprogression, in der die Steuer fr jeden mehr verdienten Euro prozentual hher wird.

Wer zu den Groverdienern gehrt und verdienstmig ber den oben genannten Betrgen liegt, fllt in die obere Steuerproportion:

CHIP | OFFICE KOMPAKT

89

Else Steuer = Int(0.485 * Betrag - 9872)

Die Steuerberechnung ist fertig, Sie knnen die Funktion abschlieen.


End If

End Function

Damit sparen Sie Steuern: Ehegatten-Splitting


Wer verheiratet ist und sich gemeinsam veranlagen lsst, profitiert vom EhegattenSplitting. Das klingt kompliziert, ist aber recht simpel. Hier wird zuerst das durchschnittliche Einkommen eines Ehepartners berechnet, indem die Einkommen der beiden Ehepartner addiert und danach durch 2 geteilt werden. Mit diesem Ergebnis wird die Steuer ermittelt. Da ein Ehepaar aus zwei Personen besteht, wird dieser Steuerwert mit 2 multipliziert und so die effektive Steuerschuld des Ehepaares berechnet.
Function EkStSplit(Betrag) EkStSplit = Steuer(Betrag - / 2) * 2 End Function

Der Vorteil dieses Verfahrens: Bei unterschiedlichen Einkommen der beiden Ehepartner wird eine niedrigere Progression zur Berechnung der Steuer verwendet. Eine tatschliche Ersparnis gibt es also nur, wenn die beiden Einkommen unterschiedlich hoch sind und wenn nicht beide Partner in die obere Steuerproportion fallen, denn in diesen beiden Fllen bringt das EhegattenSplitting keine Steuerersparnis.

Berechnung der Lohnsteuer mit der Excel-Tabelle


Im Grunde genommen funktioniert die Berechnung der Lohnsteuer genauso wie die der Einkommensteuer. Einziger Unterschied: Sie mssen Ihr Jahresgehalt verwenden und als Angestellter gewisse Freibetrge haben, fr die Sie keine Belege bentigen. Bei Alleinverdienenden (Steuerklasse I) liegt dieser Betrag, um den das zu versteuernde Einkommen vermindert wird, bei 3.068 Euro (ehemals 6.000 Mark), bei Verheirateten sogar bei 5.113 Euro (ehemals 10.000 Mark). Daraus ergeben sich die beiden Funktionen zur Lohnsteuerberechnung:
Function Lohnsteuer(Betrag) Lohnsteuer = Steuer(Betrag - 3068) End Function Function LohnsteuerSplit(Betrag) LohnsteuerSplit=EkStSplit(Betrag-5113) End Function

INFO

Einkommensteuer im Internet
Den stets aktuellen und kompletten Wortlaut des Einkommensteuergesetzes finden Sie im Internet unter http://bundesrecht. juris.de/bundesrecht/estg/index.html. Der Paragraph 32 Absatz a erklrt die Berechnungen der Steuerformel ganz genau.

Nicht vergessen: Die Einkommensteuertabelle


Neben der eigentlichen Einkommensteuer mssen Sie weitere Betrge an den Fiskus abtreten. Dazu gehren beispielsweise der k
CHIP | OFFICE KOMPAKT

90

VERSIONEN

PROGRAMMIERUNG LSUNGEN Steuer berechnen TIPPS & TRICKS

Solidarittszuschlag und die Kirchensteuer. Bei beiden Angaben fllt zustzlich ins Gewicht, wie viele Kinder Sie bei der Steuererklrung mitangeben. Legen Sie wie in der Abbildung rechts 1 zu sehen eine neue Tabelle an. Jetzt tragen Sie in Spalte B Ihr Jahreseinkommen in Euro (B2) und den Prozentsatz, den Sie an Kirchensteuer bezahlen (B3) also 0%, 8% oder 9% ein. Geben Sie in B4 die Anzahl der Kinderfreibetrge ein. In Zelle B5 geben Sie ein, wie hoch 2 der Solidarittszuschlag in Prozent ist (im Jahr 2003 sind es 5,5 Prozent). Mit jedem eingetragenen Kind verringern sich allerdings die Prozentpunkte des Solidarittszuschlags. Tragen Sie daher in Zelle B6 die Prozentpunkte ein, um die der Wert in B5 je Kind vermindert wird. Derzeit betrgt dieser Wert 0,44 Prozent, so dass Sie beispielsweise mit einem Kind nur einen Soli von 5,04 Prozent zahlen mssen und mit zwei Kindern nur noch 4,6 Prozent. Genauso wie beim Solidarittszu3 schlag vermindert sich der Prozentsatz der Kirchensteuer bei jedem Kind um einen bestimmten Prozentsatz. Diesen Wert

KNOW-HOW Absoluter Zellbezug


Bei Formeln, die sich auf bestimmte Zellen beziehen, wird die Formel entsprechend angepasst, sobald Sie diese ber die Zwischenablage von Windows an eine andere Stelle im Arbeitsblatt kopieren. Setzen Sie ein $ vor die Angabe der Spalte oder der Zeile, wird diese Zelladresse nicht angepasst und bezieht sich auch nach dem Kopieren noch auf die ursprngliche Zelle.

derzeit 0,64 Prozent tragen Sie in die Zelle B7 ein. In der Zelle E2 soll nun die Ein4 kommensteuer eines unverheirateten Steuerzahlers berechnet werden. Die Formel dafr lautet =steuer (B2). Der Solidarittszuschlag in Zelle E3 5 errechnet sich aus dem angegebenen Prozentsatz der errechneten Einkommensteuer, also gem der Formel =$B$5*E2. Diesen absoluten Zellbezug (siehe Kasten unten) brauchen Sie, damit Sie spter die Formel auch in die Spalte rechts daneben kopieren knnen. Die Entlastung aufgrund der Anzahl der eingetragenen Kinder geben Sie in der Zelle E4 mit der Formel =$B$6*$B$4*E2 ein. Diese Entlastung wird nur dann komplett abgezogen, wenn sie nicht grer ist als der Solidarittszuschlag selbst. Dies prfen Sie in der Zelle E5: =WENN(E3>E4;E3-E4;0). Dieser Sonderfall tritt jedoch nur bei Familien mit mehr als zwlf Kindern ein. Genauso wie mit dem Solidaritts6 zuschlag wird mit der Kirchensteuer verfahren. Die Kirchensteuer in Zelle E6 berechnet sich demnach nach der Formel =E2*$B$3, die Entlastung in der Zelle E7 lautet =$B$7*$B$4*E2, und der tatschliche Betrag in E8 wird mit der Formel =WENN(E6>E7;E6-E7;0) berechnet. Die tatschliche Steuerlast in Zelle E9 7 berechnet sich also aus der Summe der Zellen E2, E5 und E8. Geben Sie daher die Formel =E2+E5+E8 in die Zelle ein. Der Prozentsatz, den Sie von Ihrem 8 Einkommen abfhren mssen (E10), entspricht der tatschlichen Steuerlast geteilt durch das Einkommen, also der Formel =E9/$B$2. Damit diese auch als Prozent-

CHIP | OFFICE KOMPAKT

91

Auf Tastendruck: Mit Hilfe dieser Tabelle knnen Sie sich Ihre Einkommensteuer, Kirchensteuer und den Solidarittszuschlag in krzester Zeit ganz genau berechnen lassen.

zahl angezeigt wird, mssen Sie sie entsprechend formatieren. Markieren Sie dazu die Zelle und klicken Sie dann auf das ProzentSymbol in der Symbolleiste. Das Nettoeinkommen in Zelle E11 9 berechnet sich aus der Differenz aus dem zu versteuernden Einkommen (B2) und der Steuerlast (E9). Tragen Sie also =$B$2-E9 in die Zelle ein. Markieren Sie die Zellen E2 bis E11, 10 kopieren Sie sie ber Bearbeiten, Kopieren in die Zwischenablage, setzen Sie den Zellzeiger in die Zelle F2 und fgen Sie die kopierten Formeln ber Bearbeiten, Einfgen wieder ein. ndern Sie nun lediglich die Formel in der Zelle F2, damit sie die Einkommensteuer nach dem Splitting-Verfahren berechnet: =Ekstsplit(B2).

Lohnsteuer und Nebenkosten


Die Tabelle fr die Lohnsteuer ist im Grunde sehr hnlich aufgebaut wie jene fr die Einkommensteuer. Der Unterschied liegt einerseits in der Berechnung der Steuerlast durch den speziellen pauschalen Freibetrag fr Lohnsteuerzahler. Zum anderen kommen bei Angestellten noch die Beitrge in die Sozialkassen hinzu, die ebenfalls in dieser Tabelle bercksichtigt werden. Markieren Sie alle Zellen der eben 1 erzeugten Einkommensteuertabelle. Kopieren Sie diese ber den Menpunkt Bearbeiten, Kopieren in die Zwischenablage. Whlen Sie ein neues Arbeitsblatt innerhalb der Arbeitsmappe Einkommensteuer.xls und fgen Sie ber den Men- k
CHIP | OFFICE KOMPAKT

92

VERSIONEN

PROGRAMMIERUNG LSUNGEN Steuer berechnen TIPPS & TRICKS

INFO

Die

Steuerformel aus dem EStG 32 a


Einkommens. Die Variable x enthlt das nach Absatz 2 ermittelte zu versteuernde Einkommen. (2) Das zu versteuernde Einkommen ist auf den nchsten durch 36 ohne Rest teilbaren vollen Euro-Betrag abzurunden, wenn es nicht bereits durch 36 ohne Rest teilbar ist, und um 18 Euro zu erhhen. (...) (5) Bei Ehegatten, die nach den 26, 26b zusammen zur Einkommensteuer veranlagt werden, betrgt die tarifliche Einkommensteuer vorbehaltlich der 32b, 34, 34b und 34c das Zweifache des Steuerbetrags, der sich fr die Hlfte ihres gemeinsam zu versteuernden Einkommens nach den Abstzen 1 bis 3 ergibt (Splitting-Verfahren).

(1) Die tarifliche Einkommensteuer bemisst sich nach dem zu versteuernden Einkommen. (...) 1. bis 7235 Euro (Grundfreibetrag): 0; 2. von 7236 Euro bis 9251 Euro: (768,85 x y + 1990) x y; 3. von 9252 Euro bis 55.007 Euro: (278,65 x z + 2300) x z + 432; 4. von 55.008 Euro an: 0,485 x x - 9872. Die Variable y ist ein Zehntausendstel des 7200 Euro bersteigenden Teils des nach Absatz 2 ermittelten zu versteuernden Einkommens. Die Variable z ist ein Zehntausendstel des 9216 Euro bersteigenden Teils des nach Absatz 2 ermittelten zu versteuernden

punkt Bearbeiten, Einfgen den Inhalt der Zwischenablage wieder ein. Fgen Sie die fr die Lohnsteuer 2 wichtigen Informationen in der Spalte B hinzu. Dazu gehrt der Prozentsatz der Krankenversicherung in B8, der je nach Versicherer variiert. Der Prozentsatz der Pflegeversicherung bleibt dagegen immer gleich und liegt bei 1,7 Prozent. Dieser Wert gehrt in die Zelle B9. Die Kranken- und Pflegeversicherung haben ein Maximum, nmlich wenn das Gehalt eine gewisse Obergrenze erreicht hat. Diese Obergrenze derzeit 40.500 Euro tragen Sie in die Zelle B10 ein. Tragen Sie auf diese Weise den Prozentsatz der Rentenversicherung (derzeit 19,5 Prozent) in B10 und den der Arbeitslosenversicherung (derzeit 6,5 Prozent) in B11 ein. Auch fr diese Beitrge gibt es wieder ein
CHIP | OFFICE KOMPAKT

Gehaltsmaximum, das Sie mit 54.000 Euro in der Zelle B12 vermerken. In der bestehenden Tabelle der Abz3 ge mssen Sie lediglich die Formel der Steuerberechnung anpassen. Tragen Sie in die Zelle E2 die Formel =lohnsteuer(B2) und in Zelle F2 =lohnsteuersplit(B2) ein. Die Berechnung der Kranken- und 4 Pflegeversicherung wird in Zelle E12 mit der Formel =($B$9+$B$8)*MIN ($B$2;$B$10)/2 ermittelt. Die Funktion MIN liefert dabei den kleineren Wert aus Einkommen und Obergrenze zurck. Das Ergebnis wird durch 2 geteilt, da sich Arbeitnehmer und Arbeitgeber die Kosten der Arbeitslosenversicherung teilen. Ganz hnlich berechnen Sie die Ar5 beitslosen- und die Rentenversicherung in E13 mit der Formel =($B$11

93

+$B$12)*MIN($B$2;$B$13)/2. Auch hier wird zur Berechnung wieder das Minimum aus dem tatschlichen Einkommen und der Obergrenze ermittelt. Auch dieser Versicherungsbeitrag wird wieder zu gleichen Teilen von Arbeitnehmer und Arbeitgeber getragen und muss demnach durch den Wert 2 geteilt werden. Die Summe der Lohnnebenkosten 6 (E14) errechnet sich demnach aus der Formel =E12+E13. Somit errechnet sich der Betrag, den 7 der Arbeitnehmer ausgezahlt bekommt (E15) aus der folgenden Formel: =$B$2-E9-E14, also dem Bruttoeinkommen abzglich der Steuerlast und der jeweiligen Lohnnebenkosten.

Wieviel Prozent von Ihrem Gehalt am Ende tatschlich vom Finanzamt einbehalten werden, errechnet sich in Zelle E16 aus dem Verhltnis des ausgezahlten Betrags zum Bruttoverdienst: =1-E15/$B$2. Auch diese Zelle mssen Sie wieder als Prozentzahl formatieren, damit das Ergebnis auf korrekte Weise dargestellt wird. Um die Formeln auch fr Verheiratete 9 ohne weitere Korrekturen zu bernehmen, markieren Sie die neu hinzugekommenen Zellen von E12 bis E16 und kopieren sie ber den Menpunkt Bearbeiten, Kopieren in die Zwischenablage. Setzen Sie den Zellzeiger in die Zelle F12 und fgen Sie die Formeln ber Bearbeiten, Einfgen wieder ein. Ingo Bhme

Steuertabelle: Auch die Lohnsteuer lsst sich mit den richtigen Formeln genau berechnen.

CHIP | OFFICE KOMPAKT

94

Mit Add-Ins die Arbeitszeit einteilen

Projekt- und Zeitplanung


Auf Heft-CD

Ein Monat hat im Schnitt 30 Tage. Doch Wochenenden, Feiertage und Urlaube machen es nicht gerade leicht, Projekte zeitlich zu planen. Mit diesem Excel-Blatt wird die Planung zum Kinderspiel.

KNOW-HOW Formatierung
Wenn Sie eine Tabelle formatieren, weisen Sie den einzelnen Zellen des Arbeitsblattes neue Eigenschaften zu. Manche Eingaben werden fett gesetzt, bei anderen verndern Sie die Schriftart oder -gre. So werden die Daten ansprechender dargestellt.

gal ob Sie ein Freiberufler sind, der bei einem Projekt mit feststehenden Teilschritten abschtzen muss, wie lange er fr die einzelnen Abschnitte des Projekts braucht, ob Sie als Angestellter ttig sind, der bei einem Meeting zum Beispiel die zeitliche Konzeption fr eine Veranstaltung darlegen muss, oder ob Sie einfach genau wissen wollen, wieviel Zeit Ihnen fr Ihre Arbeit bis Weihnachten bleibt: Stets

CHIP | OFFICE KOMPAKT

Foto: K. Satzinger

VERSIONEN

PROGRAMMIERUNG LSUNGEN Projekte planen TIPPS & TRICKS

95

bentigen Sie einen Kalender, in dem Sie die verbleibenden Arbeitstage genau abzhlen knnen, um die bersicht zu behalten. Natrlich fallen Wochenenden und Feiertage weg, und natrlich ist auch der Kurzurlaub am Gardasee fr die Katz. Und pltzlich hat das Vierteljahr keine 90 Tage mehr, sondern nur noch 65, und statt zum Jahreswechsel wird das Projekt unglcklicherweise doch erst Ende Januar fertig sein. Knftig gehren solche berraschungen der Vergangenheit an. Denn die Lsung fr Excel, die wir in diesem Beitrag gemeinsam mit Ihnen entwickeln, ermittelt anhand der tatschlichen Arbeitstage die genaue Zeitplanung eines Projekts.

Berechnungsfunktionen im berblick
Im Rahmen einer Projektplanung bentigen Sie drei Funktionen. Die erste soll zu einem beliebigen Datum eine feste Anzahl von Arbeitstagen hinzuzhlen. Die zweite Funktion geht den umgekehrten Weg: Sie soll von einem vorgegebenen Enddatum ausgehend berechnen knnen, wann man das Projekt beginnen muss, um es nach einer bestimmten Anzahl von Arbeitstagen an jenem Enddatum abzuschlieen. Die letzte Funktion dient schlielich dazu, die Anzahl der Arbeitstage zwischen zwei gegebenen Terminen zu berechnen. Fragt Sie also beispielsweise jemand Schaffen Sie das bis zum Ende des Monats?, so knnen Sie mit dieser Funktion die tatschliche Anzahl der Arbeitstage bis zu diesem Zeitpunkt ermitteln. Was aber sind Arbeitstage? Das kommt ganz auf die jeweilige Branche oder den Arbeitsbereich an. Ein Friseur wird Ihnen zum Beispiel sagen, dass Montag sicher kein Ar-

beitstag ist. Der Abteilungsleiter einer Warenhauskette aber wird auch den Samstag bei seiner Projektplanung bercksichtigen. Was jedoch ganz sicher nicht zur Arbeitszeit gehrt, sind die Urlaubs- und Feiertage. Wir suchen also eine Lsung, die mit geringem Aufwand an verschiedene Gegebenheiten angepasst werden kann. Die einfachste Variante besteht darin, alle Urlaube, Feierund Arbeitstage einer Woche in Form von drei verschiedenen Tabellen zu verwalten. Die VBA-Funktionen knnen dann anhand dieser Daten entscheiden, ob es sich um einen Arbeitstag handelt oder nicht. Legen Sie in Excel wie gewohnt eine 1 neue Arbeitsmappe an. Speichern Sie sie unter dem Namen Arbeitstage.xls. Stellen Sie sicher, dass Ihre neue Ar2 beitsmappe mindestens drei Tabellenbltter umfasst. Sollte das nicht der Fall sein, fgen Sie mit dem Befehl Einfgen und Tabellenblatt der Mappe entsprechend viele Tabellen hinzu. Fhren Sie auf den Reiter der ersten 3 Tabelle einen Doppelklick aus und benennen Sie sie in Feiertage um. Benennen Sie auf gleiche Weise die 4 zweite Tabelle in Wochentage um und geben Sie der dritten Tabelle der Mappe die Bezeichnung Urlaub.

Feiertage fr Berechnungen in der Tabelle erfassen


Das erste Arbeitsblatt auszufllen ist simpel. Bereits in dem Beitrag Feiertage ermitteln ab s78 haben Sie eine Tabelle angelegt, in der alle wichtigen Feiertage aufgelistet sind. Diese Tabelle knnen Sie kopieren und hier einfgen, da Sie bei dieser Berechnung zunchst eine ganz hnliche Tabelle anlegen. k
CHIP | OFFICE KOMPAKT

96

VERSIONEN

PROGRAMMIERUNG LSUNGEN Projekte planen TIPPS & TRICKS

Tragen Sie in die erste Zeile ab der Spalte B die Jahreszahlen fortlaufend ein, beginnend mit dem Jahr 2004. Tragen Sie in die erste Spalte ab der 2 Zeile 2 die arbeitsfreien Feiertage im Jahr von Neujahr bis zum zweiten Weihnachtsfeiertag ein. Alle Feiertage, die wie zum Beispiel der Ostersonntag auf einen Sonntag fallen, knnen Sie weglassen. Tragen Sie nun in der Tabelle die kon3 kreten Datumsangaben ein, die zu der Jahreszahl und zu dem entsprechenden Feiertag passen. Auf der Heft-CD finden Sie die Tabelle bereits bis 2009 ausgefllt. Auf die Formatierung brauchen Sie dabei nicht zu achten. Die Tabellen dieser Arbeitsmappe werden spter bei der Zeit- und Projektplanung unsichtbar sein, nur die Daten sind wichtig.

Auch die dritte Tabelle ist ganz hnlich wie die beiden ersten aufgebaut. In der ersten Spalte der Tabelle, der Sie in der Zelle A1 die berschrift Urlaub geben, knnen Sie sich kurze Notizen zu dem entsprechenden Zeitraum machen. In die Spalte B tragen Sie jeweils das Start- und in die Spalte C das Enddatum ein. Nehmen Sie auch fr einen eintgigen Kurzurlaub den Eintrag in beiden Zellen vor. Hier geben Sie in Spalte B und Spalte C dann dasselbe Datum ein.

Hilfsfunktionen ermitteln freie Tage und Arbeitstage


Jetzt schreiben Sie mit Visual Basic fr Applikationen die Grundfunktionen, die unter Zuhilfenahme der eingetragenen Datumsangaben ermitteln, ob ein Tag als Arbeitstag gilt oder arbeitsfrei ist, weil es sich um einen Feier-, Urlaubs- oder einen sonstigen freien Wochentag handelt. Wechseln Sie mit einem Druck der 1 Tastenkombination Alt+F11 in die VBA-Entwicklungsumgebung von Excel, die Sie bereits aus den anderen Beitrgen dieses Kompendiums kennen. Erzeugen Sie mit dem Befehl Modul 2 aus dem Men Einfgen im Editor ein neues Modul fr Ihren Quelltext. Geben Sie in dieses Modul alle nachfolgend beschriebenen Funktionen wie gewohnt ein. Die einfachste Funktion ermittelt, ob es sich bei einem speziellen Datum um einen Arbeitstag oder um ein Wochenende handelt. In der Regel wird das wohl Montag bis Freitag sein, doch die Regel gilt natrlich nicht immer. Daher soll die Funktion die gewnschten Informationen anhand der Eintrge der zweiten Tabelle ermitteln, in der Sie Ihre Arbeitstage angegeben haben.

Arbeits- und Urlaubstage fr das Jahr festlegen


Die zweite und die dritte Tabelle anzulegen bereitet sogar noch weniger Mhe. Das zweite Arbeitsblatt mit der Bezeichnung Wochentage besteht lediglich aus einer zweispaltigen Tabelle mit Wochentagen, an denen Sie nicht arbeiten. Tragen Sie in die Zelle A1 die ber1 schrift Arbeitsfrei? und in B1 den Text Wochentag ein. Geben Sie in der zweiten Spalte im 2 Bereich von B2 bis B8 die Namen der Wochentage von Sonntag ber Montag und Dienstag bis Samstag ein. Markieren Sie jeden Wochentag, an 3 dem Sie nicht arbeiten, indem Sie links daneben in der Spalte A ein x eintragen. Lschen Sie versehentlich gesetzte Eintrge mit der Taste Entf.
CHIP | OFFICE KOMPAKT

97

Alles im Blick: Die erste Tabelle der Arbeitsmappe fr die Projektplanung enthlt alle arbeitsfreien Feiertage der kommenden Jahre. Diese Excel-Daten finden Sie auch auf der CD zum Heft als Add-In (Arbeitstage.xla), so dass Sie sich diese Schreibarbeit sparen knnen.

Function IstArbeitstag(D As Date) I = Weekday(D) IstArbeitstag = t IsEmpty(Tabelle2.Cells(I + 1, 1)) End Function

Diese Funktion liefert den logischen Wert wahr (true) zurck, wenn die Zelle in der ersten Spalte des Wochentages leer ist. Findet sie hingegen in einer Zelle ein X vor, dann meldet sie den Wert falsch (false). Der groe Vorteil dieser Vorgehensweise: ndern sich die Arbeitstage,

dann brauchen Sie lediglich die x-Eintrge in der ersten Spalte anzupassen. Die Funktion IstUrlaub jedoch durchluft die dritte Tabelle so lange, bis in der zweiten Spalte der Tabelle kein Eintrag mehr vorliegt oder das gesuchte Datum zwischen Anfang und Ende des von Ihnen eingegebenen Urlaubs liegt:
Function IstUrlaub(D As Date) Zeile = 2 While Not IsEmpty t (Tabelle3 Cells(Zeile, 2))
CHIP | OFFICE KOMPAKT

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

98

VERSIONEN

PROGRAMMIERUNG LSUNGEN Projekte planen TIPPS & TRICKS

Von = Tabelle3.Cells(Zeile, 2) Bis = Tabelle3.Cells(Zeile, 3) If D >= Von And D <= Bis Then IstUrlaub = True Exit Function End If Zeile = Zeile + 1 Wend IstUrlaub = False End Function

Zur Verfgung stehende Arbeitstage berechnen


Nun fehlt noch die eigentliche Berechnung der Arbeitstage, die Ihnen fr ein Projekt insgesamt zur Verfgung stehen. Die erste Funktion lautet AddArbeitsTage. Sie erhlt zwei Parameter. Der erste Parameter ist das Datum, von dem aus berechnet werden soll, und der zweite Parameter entspricht der Anzahl der Arbeitstage. Nun tragen Sie die folgende Funktion ebenfalls im Modul 1 ein:
Function AddArbeitsTage(Von t As Date, Anzahl As Integer) While Anzahl > 0 Von = Von + 1 If IstArbeitstag(Von) Then If Not IstUrlaub(Von) Then If Not IstFeiertag(Von) Then Anzahl = Anzahl 1 End If End If End If Wend AddArbeitsTage = Von End Function

Noch einen Schritt weiter geht die folgende Funktion. Sie stellt fest, ob es sich bei dem an sie bergebenen Datum um einen Feiertag handelt. Damit ist ein besonderer Aufwand verbunden, denn die Funktion muss dazu einen ganzen Tabellenbereich nach Werten durchsuchen:
Function IstFeiertag(D As Spalte = 2 While Not IsEmpty(Tabelle1. Cells(1, Spalte)) Zeile = 2 While Not IsEmpty(Tabelle1. t Cells(Zeile, 1)) If Not IsEmpty(Tabelle1. t Cells(Zeile, Spalte)) Then If Tabelle1.Cells(Zeile, t Spalte) = D Then IstFeiertag = True Exit Function End If End If Zeile = Zeile + 1 Wend Spalte = Spalte + 1 Wend IstFeiertag = False End Function
CHIP | OFFICE KOMPAKT

Date)

Analog dazu ist die Funktion SubArbeitsTage erforderlich, um ausgehend von einem bestimmten Datum Arbeitstage zurckzurechnen. So wird ermittelt, wann Sie bei einem vorgegebenen Fertigstellungsdatum mit einem bestimmten Projekt anfangen sollten. Diese Funktion unterscheidet sich nur in zwei Zeilen von der vorangegangenen. Zum einen lautet die erste Zeile innerhalb der Schleife nicht
Von = Von + 1

99

sondern die Zeile lautet:


Von = Von 1

Und zum zweiten muss natrlich der Rckgabewert in der vorletzten Zeile anders lauten. Tragen Sie anstelle
AddArbeitsTage = Von

Die erste Verzweigung in dieser Funktion stellt sicher, dass das erste Datum auf jeden Fall immer das kleinere ist, also zeitlich betrachtet vor dem zweiten Datum liegt. Dann geht die Schleife alle Tage vom Anfangs- bis zum Enddatum Schritt fr Schritt durch und erhht dabei die Variable Anzahl immer genau dann um den Wert 1, wenn es sich bei dem Inhalt tatschlich um einen echten Arbeitstag handelt.

diesmal die folgende Zeile in die ansonsten identische Funktion ein:


SubArbeitsTage = Von

Add-Ins speichern und in Excel einbinden


Die hier vorgestellten Funktionen haben einen groen Vorteil: Die von ihnen durchgefhrten Berechnungen erweisen sich nicht nur in einem einzigen Projekt als ntzlich, sondern knnen knftig auch in anderen Planungsmappen sinnvoll eingesetzt werden. Damit das mglich ist, muss man die Funktionen lediglich in ein Add-In verwandeln und speichern. Dieses Add-In steht dann allen anderen Mappen zur Verfgung. Whlen Sie im Men Datei den 1 Punkt Speichern unter. Whlen Sie rechts neben der Bezeich2 nung Dateityp den letzten Eintrag Microsoft Excel-Add-In (*.xla). Daraufhin whlt Excel automatisch den richtigen Ordner fr Ihre Add-Ins aus. Whlen Sie im Men Extras 3 den Eintrag Add-In-Manager. Hier sehen Sie bereits den Eintrag Arbeitstage. Markieren Sie ihn mit einem Hkchen und besttigen Sie Ihre Auswahl mit OK. Die noch geffnete Arbeitsmappe hat 4 nichts mehr mit dem Add-In zu tun. Darum knnen Sie die Datei nun schlieen. Beantworten Sie die Frage, ob Sie speichern wollen, mit Nein. k
CHIP | OFFICE KOMPAKT

An die letzte Funktion, die die Anzahl der Arbeitstage zwischen zwei Datumsangaben ermittelt, werden zwei Datumswerte als Parameter bergeben.
Function ArbeitsTage(Von As t Date, Bis As Date) Anzahl = 0 If Von > Bis Then dummy = Von Von = Bis Bis = dummy End If While Von < Bis If IstArbeitstag(Von) Then If Not IstUrlaub(Von) Then If Not IstFeiertag(Von) Then Anzahl = Anzahl + 1 End If End If End If Von = Von + 1 Wend ArbeitsTage = Anzahl End Function

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

100

VERSIONEN

PROGRAMMIERUNG LSUNGEN Projekte planen TIPPS & TRICKS

Projekt auf seine zeitliche Realisierbarkeit prfen


Nun mchten wir Ihnen anhand verschiedener Beispielprojekte die mglichen Einsatzgebiete dieser drei Funktionen in der Praxis vor Augen fhren. Da die Berechnungen ganz universell ausgelegt sind, sind viele Einsatzvarianten denkbar. Das erste Beispiel beantwortet die Frage, ob Sie ein bestimmtes Projekt bis zu einem festgelegten Datum realisieren knnen. Legen Sie fr dieses Beispiel eine neue 1 Arbeitsmappe an und speichern Sie sie unter dem Namen Projektplanung.xls. Hat die Arbeitsmappe weniger als drei Tabellenbltter, fgen Sie zunchste weitere ber Einfgen und Tabellenblatt hinzu. Tragen Sie in den Zellen A1 bis A3 2 untereinander die Beschriftungen Geplanter Fertigstellungstermin, Starttermin und Anzahl der Arbeitstage ein.

Jetzt geben Sie in der Zelle B1 den geplanten Endtermin fr das zu berprfende Projekt ein, also beispielsweise das Datum 21.6.2004. Anschlieend setzen Sie den Zellzei4 ger mit der Maus in die Zelle B2. Dann drcken Sie die Tastenkombination Strg+. Auf diese Weise trgt Excel das aktuelle Datum in die von Ihnen mit der Maus gewhlten Zelle ein. Abschlieend tragen Sie in der Zelle 5 B3 die Formel =Arbeitstage(B2;B1) ein. Daraufhin wird in dieser Zelle die Anzahl der Ihnen fr das Projekt zur Verfgung stehenden Arbeitstage angezeigt.

Projektplanung mit einem festen Starttermin


Ob Sie nun ein Buch schreiben mchten, an einer umfangreichen Hausarbeit frs Studium sitzen oder ein anderes Projekt reali-

INFO

Tabelle

eines Add-Ins ndern


unter Microsoft Excel Objekte den Eintrag DieseArbeitsmappe. ndern Sie im Eigenschaften-Fenster 3 rechts neben der Eigenschaft IsAddin den Wert von True in False. Nun sind die Tabellen dieses Add-Ins in der Excel-Umgebung wieder sichtbar, Sie knnen die Zelleninhalte bearbeiten. Beenden Sie nun Excel und starten Sie es erneut, so werden die Tabellen dieses Add-Ins weiterhin angezeigt. Unsichtbar werden die Tabellen erst wieder, wenn Sie wie zuvor beschrieben den Wert der Eigenschaft IsAddin von False auf True zurcksetzen.

Ist aus einer Arbeitsmappe erst einmal ein Add-In geworden, das allen Arbeitsmappen zur Verfgung steht, so sind die Tabellen dieser ehemaligen Arbeitsmappe fr Sie pltzlich unsichtbar. Sobald Sie das Add-In jedoch wieder aktivieren, knnen Sie die einzelnen Arbeitsbltter in der VBA-Umgebung erneut sichtbar machen. Wechseln Sie dazu in die VBA-Entwicklungsumgebung. Suchen Sie in der Projektbersicht das 2 Add-In-Projekt zum Beispiel Arbeitstage.xla und markieren Sie anschlieend

CHIP | OFFICE KOMPAKT

101

sieren mchten, das aus zahlreichen Teilschritten besteht: Mit Hilfe der Funktion AddArbeitstage knnen Sie genau ausrechnen, nach wie vielen Arbeitstagen das von Ihnen geplante Projekt anhand der jeweiligen Vorgaben beendet sein wird. Geben Sie auf dem zweiten Tabellen1 blatt in den Zellen von A1 bis E1 nebeneinander die berschriften Ttigkeit, Starttermin, Dauer (Arbeitstage), Fertig und Abgabetermin ein. Geben Sie in der Spalte A ab der zwei2 ten Zeile die Bezeichnungen der verschiedenen Teilschritte des von Ihnen zu berwachenden Projekts ein. Tragen Sie in der Spalte C die Anzahl 3 der Arbeitstage ein, die der jeweilige Teilschritt voraussichtlich zu seiner Realisierung bentigen wird. Geben Sie in der Zelle B2 das Start4 datum des Projekts ein. Markieren Sie zunchst die Zelle D2 5 und weisen Sie ihr dann die Formel =AddArbeitstage (B2;C2) zu. Besttigen Sie die Formel mit der Eingabetaste. Markieren Sie dann erneut die Zelle D2 mit der Maus, und kopieren Sie die Formel ber das Men Bearbeiten, Kopieren in die Zwischenablage. Markieren Sie nun den Zellbereich von D3 bis D20, und fgen Sie die angepasste Formel ber Bearbeiten und den Befehl Einfgen ein. Markieren Sie die Spalte D, indem Sie 6 auf den Buchstaben D oben in der Titelzeile klicken. Whlen Sie nun im Men Format den Menpunkt Zellen und dann als Kategorie den Eintrag Benutzerdefiniert. Unter Typ geben Sie die Zeichenkette [=0];TTTT.M.JJJJ ein. Auf diese Weise werden die Zahlen in den Zellen

als Datumswerte interpretiert und eventuelle Nullwerte ausgeblendet. Geben Sie in Zelle B3 die Formel 7 =WENN(ISTLEER(C3);0;D2) ein. Kopieren Sie diese Formel anschlieend wie in Schritt 5 beschrieben und fgen Sie sie im Bereich von B3 bis B20 ein. Wiederholen Sie die Formatierung 8 aus Schritt 6 und wenden Sie sie auf die Spalte B an.

Projektplanung mit einem fixen Endtermin


Liegt es nicht an Ihnen, sondern an Ihrem Chef oder Auftraggeber, wann ein Projekt fertiggestellt sein muss, gehen Sie den umgekehrten Weg. Markieren Sie das gesamte soeben 1 erzeugte Tabellenblatt und kopieren Sie es mit dem Befehl Kopieren aus dem Men Bearbeiten in die Zwischenablage. Wechseln Sie zum dritten, noch leeren 2 Tabellenblatt. Setzen Sie den Zellzeiger in die Zelle A1 und fgen Sie den Inhalt der Zwischenablage ber Bearbeiten, Einfgen wieder ein. Vertauschen Sie die berschriften der 3 Zellen B1 und D1. Tragen Sie in der Zelle E2 das End4 datum, etwa den 24.08.2004, ein. Geben Sie in der Zelle B2 den Verweis auf diesen Wert mit der Formel =E2 ein. Nun ndern Sie noch die Formel in 5 der Spalte D. Statt der Funktion =AddArbeitstage(... muss sie jetzt =SubArbeitstage(... lauten, wobei die Parameter gleichbleiben. Auch hier ndern Sie wieder die Formel in der Zelle D1, kopieren sie in die Zwischenablage und fgen sie im Bereich von D2 bis D20 wieder ein. Ingo Bhme
CHIP | OFFICE KOMPAKT

102

Diagramme: Biorhythmus darstellen

Wie geht es Ihnen heute?


Das krperliche und geistige Wohlbefinden lsst sich nach Auffassung vieler Menschen mit den Kurven des Biorhythmus ber Zeitrume hinweg vorhersehen. Mit Excel knnen Sie Ihren Biorhythmus berechnen und grafisch darstellen.

KNOW-HOW Sinuskurve
Die Sinuskurve ist eine immer gleich bleibende Schwingung mit einem Wellenberg und einem Wellental. Der Biorhythmus ist eine Sinuskurve, die vom Tag der Geburt ausgehend mit unterschiedlichen Wellenlngen fr den emotionalen, geistigen und krperlichen Rhythmus startet. Auf diese Weise lsst sich der Biorhythmus individuell fr jeden Menschen berechnen.

ach der wissenschaftlich zwar nicht bewiesenen, aber ungemein populren Theorie der Periodik unterliegen alle Dinge in der Natur einem stets wiederkehrenden Zyklus. Beim Menschen werden drei Rhythmen postuliert: der krperliche, der emotionale und der geistige Rhythmus. Sie beginnen mit der Geburt und verlaufen in sinusfrmigen Schwingungen. Positive Werte bedeuten gute Tage und negative schlechte Tage. Als kritische Tage bezeichnet man jene, bei denen die entsprechende

CHIP | OFFICE KOMPAKT

VERSIONEN

PROGRAMMIERUNG LSUNGEN Biorhythmus darstellen TIPPS & TRICKS

103

Kurve die Null-Linie schneidet. Laut der Theorie des Biorhythmus betrgt der krperliche Zyklus 23 Tage, der emotionale 28 Tage und der geistige Zyklus 33 Tage.

Die Biorhythmus-Funktionen in Excel umsetzen


Die drei Funktionen, die Sie nun in VBA erstellen werden, basieren auf dieser einfachen Rechnung. Sie liefern bei Angabe des Geburtstages und eines Datums den entsprechenden Biorhythmus-Wert zurck. Starten Sie Excel und ffnen Sie eine 1 neue Arbeitsmappe. Speichern Sie die Mappe mit dem Be2 fehl Speichern unter aus dem Men Datei unter dem Namen Biorhythmus.xls in einem beliebigen Ordner. ffnen Sie den Visual-Basic-Editor 3 ber den Menpunkt Extras, Makro und Visual Basic-Editor oder ber die Tastenkombination Alt+F11. Markieren Sie im Projektfenster den 4 Eintrag VBAProject (Biorhythmus. xls) und fgen Sie ber den Menpunkt Einfgen, Modul ein neues Makro-Modul zu Ihrer Arbeitsmappe hinzu. Dieses erscheint im aktuellen Projekt in dem neuen Ordner Module als Eintrag Modul1. Fhren Sie auf den Eintrag Modul1 5 einen Doppelklick mit der Maus aus. Daraufhin ffnet sich im Editor-Fenster eine leere Quelltext-Datei. Geben Sie hier die erste Funktion ein, 6 die den Biorhythmuswert der Kurve fr Ihren Krper zurckliefert:
Function BioKoerper(Dat1, Dat2) ' * Dauer = 23 ' ** Pi2 = 6.2831852 Tage = Abs(Dat2 - Dat1) Zyklus = Tage / Dauer Zyklus = Zyklus - Int(Zyklus) BioKoerper = Sin(Zyklus * Pi2) ' *** End Function
CHIP | OFFICE KOMPAKT

So berechnen Sie Ihren aktuellen Biorhythmus


Diese Theorie lsst sich mit Excel sehr leicht und anschaulich in die Praxis umsetzen. Natrlich verfgt Excel ber keine Funktionen, die Ihnen die exakten Werte auf der Stelle berechnen. Allerdings schafft eine simple VBA-Funktion Abhilfe. Wie Sie bereits aus anderen Beitrgen wissen, werden alle Zeitdaten in Excel als numerische Werte dargestellt: Der Wert 1 zum Beispiel entspricht dem 1.1.1900 um 0 Uhr und der Wert 37.622 dem 1. Januar 2003. Stunden sind die Bruchteile des Tages: Der Wert 0,5 entspricht 12 Uhr mittags und der Wert 0,25 entspricht 6 Uhr morgens. Wenn Sie zwei Datumsangaben voneinander abziehen, erhalten Sie die Anzahl der Tage, die zwischen den beiden Daten liegen. Beispiel: Das Geburtsdatum ist der 1. Dezember 1963 (Wert: 23.346), das aktuelle Datum ist der 1. Januar 2003 (Wert 37.622). Die Differenz dieser beiden Werte ergibt 14.276 Tage. Da der krperliche Zyklus 23 Tage dauert und in dieser Zeit eine vollstndige Schwingung durchfhrt, knnen Sie mit der Formel 14.276/23 = 620,69 ermitteln, dass man sich im 620. Zyklus befindet und dieser zu 69 Prozent (= 0,69) durchlaufen ist. Wenn Sie eine Sinuskurve (siehe Kasten links) mit Wellenberg und Wellental betrachten, so liegt der aktuelle Punkt (69 Prozent) in der ersten Hlfte des Wellentals, was beim Biorhythmus bedeutet, dass man sich im negativen Bereich befindet.

104

VERSIONEN

PROGRAMMIERUNG LSUNGEN Biorhythmus darstellen TIPPS & TRICKS

Im Handumdrehen fertig: Im dritten Schritt des Diagramm-Assistenten legen Sie das Erscheinungsbild des Diagramms und der zugehrigen Elemente fest und im Nu erscheint die grafische Darstellung Ihrer aktuellen Biorhythmuskurven.

Die beiden anderen Funktionen unterscheiden sich nur unwesentlich von der ersten. Einzig die drei mit einem * gekennzeichneten Zeilen ndern sich im folgenden Programmcode:

Einsatz der Funktionen in der Excel-Tabelle


Nun erzeugen Sie eine Tabelle, in die Sie einen Geburtstag und das aktuelle Datum eintragen knnen. Sie ist die Grundlage fr die Berechnung der Biorhythmikwerte ber einen bestimmten Zeitraum. Wechseln Sie mit einem Druck auf 1 Alt+F11 zur Tabellenansicht. Tragen Sie in der ersten Zeile des Ta2 bellenblatts in die Zellen A1 bis F1 nacheinander die Spaltenberschriften Datum, Krper, Gefhl, Geist, Geburtsdatum und Heute ein. Geben Sie dann in der nchsten Zeile 3 in der Zelle E2 das Geburtsdatum und in der Zelle F2 das aktuelle Datum ein.

Function BioGefuehl(Dat1, Dat2) Dauer = 28 ' usw BioGefuehl = Sin(Zyklus * Pi2) End Function Function BioGeist(Dat1, Dat2) Dauer = 33 ' usw BioGeist = Sin(Zyklus * Pi2) End Function
CHIP | OFFICE KOMPAKT

105

Statt des aktuellen Datums knnen Sie auch die Formel =Heute() verwenden, damit bei jedem Neustart der Tabelle das jeweils aktuelle Datum verwendet wird. Tragen Sie in die Zelle A2 zum 4 Berechnen der Datumsangabe die Formel =$F$2-16+ZEILE(A2) ein. Dabei wird vom aktuellen Datum der Wert 16 abgezogen und die jeweilige Zeilennummer dazugezhlt. Damit steht in der Zelle A2 das Datum von vor zwei Wochen. Geben Sie in die Zellen C2, D2 und 5 E2 die Berechnungsformeln fr den entsprechenden Biorhythmikwert ein, also =Biokoerper (A2; $E$2), =BioGefuehl (A2;$E$2) und =Bio Geist(A2;$E$2). Markieren Sie die Zellen von A2 bis 6 D2 und kopieren Sie diese ber den Menpunkt Bearbeiten und Kopieren in die Zwischenablage. Markieren Sie den darunter7 liegenden Bereich von A3 bis D29 und fgen Sie die angepassten Biorhythmusformeln ber Bearbeiten und Einfgen ein. Formatieren Sie die Ergeb8 niswerte als Prozentzahlen, indem Sie den Zellbereich von B2 bis D29 markieren und dann die Prozent-Schaltflche in der Symbolleiste anklicken.

burts- oder aktuellem Datum sofort die neue Grafik sehen. Markieren Sie alle Datumsangaben 1 und Biorhythmuswerte einschlielich der berschriften, also den gesamten Zellbereich von A1 bis D29. Dazu klicken Sie zunchst in die Zelle A1, halten die Umschalt-Taste gedrckt und klicken in Zelle D29. Lassen Sie die Taste wieder los. Whlen Sie im Men Einfgen den 2 Menpunkt Diagramm. Bestimmen Sie als Diagrammtyp den 3 Eintrag Linie. Markieren Sie den ersten Untertyp in der linken oberen Ecke, und klicken Sie auf Weiter. Da Sie die berschriften der Tabelle 4 ebenfalls markiert haben, erscheinen diese automatisch in der Legende. Gleichzei- k

Bio-Kurven als Grafik darstellen


Im letzten Schritt erzeugen Sie nun das Wichtigste: die Grafik der Biorhythmuswerte. Diese soll die Biorhythmuskurven direkt innerhalb der Tabelle selbst anzeigen, damit Sie bei einer nderung von Ge-

Blick in die Glaskugel: Bereits in der Vorschau des Diagramm-Assistenten erhalten Sie einen Eindruck, wie die fertige Grafik aussehen wird.

CHIP | OFFICE KOMPAKT

106

VERSIONEN

PROGRAMMIERUNG LSUNGEN Biorhythmus darstellen TIPPS & TRICKS

tig wird die erste Spalte der Tabelle als Beschriftung fr die x-Achse verwendet. Wechseln Sie mit Weiter zum letzten DialogFenster des Assistenten. In dritten Schritt des Diagramm5 Assistenten legen Sie die Rahmenbedingungen fr die Darstellung der Grafik fest. Tragen Sie als Diagramm-Titel im ersten Register Biorhythmus ein. Verschieben Sie die Legende im gleichnamigen Register unter die Grafik, indem Sie das entsprechende Optionsfeld markieren. Klicken Sie auf die Schaltflche Fertigstellen, um das Diagramm in die Tabelle als frei positionierbares Objekt einzubetten. Jetzt werden die Daten als Diagramm angezeigt.

Das Aussehen des Diagramms individuell gestalten


Das Standard-Diagramm, das Excel mit Hilfe des Assistenten erzeugt, ist noch nicht optimal. Daher wird es in diesem Abschnitt optimiert. Im ersten Schritt passen Sie Gre und Position des Diagramms innerhalb des Tabellenblatts an. Fahren Sie mit dem Mauszeiger ber 1 die weie Flche des Diagramms. Sobald Sie kurz innehalten, erscheint ein kleines Hilfe-Fenster, das Ihnen anzeigt, ber welchem Element des Diagramms Sie sich gerade befinden. Wird hier Diagrammflche angezeigt, klicken Sie einmal mit der linken Maustaste auf das Element.
Fester Teil der Tabelle: Das BiorhythmusDiagramm wird als Objekt in die Tabellenansicht eingefgt. Auf diese Weise knnen Sie die Grafik jederzeit berarbeiten sowie Gre und Position beliebig verndern.

CHIP | OFFICE KOMPAKT

107

Klicken Sie an dieser Stelle ein zweites Mal und halten Sie die linke Maustaste gedrckt. Auf diese Weise knnen Sie die Grafik an eine beliebige Position auf Ihrer Tabellenflche verschieben. Solange das Diagramm mar3 kiert ist, zeigt es in der Mitte der Seiten und an den Ecken kleine Quadrate. Klicken Sie auf das Quadrat in der Ecke rechts unten und halten Sie erneut die Maustaste gedrckt. Jetzt verschieben Sie den Mauszeiger, um die Gre des Diagramms beliebig zu verndern. Sobald Sie mit der Gre des GrafikFensters zufrieden sind, lassen Sie die Maustaste wieder los.

Variable Gestaltung: Die einzelnen Elemente des Diagramms, wie zum Beispiel die x-Achse, knnen Sie separat formatieren.

Strende Datumsangaben der Tabelle berspringen


Strend wirkt, dass zu viele Datumsangaben in der Tabelle angezeigt werden. Mit Hilfe der Einstellungen knnen Sie einzelne Daten in der Anzeige berspringen. Fhren Sie den Mauszeiger ber die 1 mittlere Achse, auf der die einzelnen Tage eingetragen sind. Als Hilfe wird hier Rubrikenachse angezeigt. Klicken Sie mit der rechten Maustaste 2 auf die Rubrikenachse und whlen Sie im sich ffnenden Kontextmen (siehe Kasten) den Befehl Achse formatieren. Whlen Sie das Register Skalierung. 3 Tragen Sie rechts neben dem Kontrollkstchen Hauptintervall den Wert 7 ein. Mit dieser Einstellung wird nur jedes siebte Datum angezeigt. Im Register Schrift passen Sie die 4 Schriftformatierung an. Verkleinern

Sie die Schriftgre und whlen Sie als Schriftschnitt die Option Fett. Stellen Sie im Register Zahlen ein 5 kleineres Datumsformat ein, etwa das erste der Liste. So werden nur Tag und Monat angezeigt, was weniger Platz bentigt. Schlieen Sie dann den Dialog mit OK, um Ihre nderungen zu bernehmen. k

KNOW-HOW Kontextmen
Dieses Men ffnet sich an fast jeder Stelle des Desktops oder Bildschirms durch einen Klick mit der rechten Maustaste. Es gibt die Eigenschaften des angeklickten Objekts etwa Symbole, Grafiken oder Texte bekannt und lsst abhngig vom Objekt unterschiedliche Operationen zu, die speziell diesem Objekt-Typ zugeordnet sind.

CHIP | OFFICE KOMPAKT

108

VERSIONEN

PROGRAMMIERUNG LSUNGEN Biorhythmus darstellen TIPPS & TRICKS

Den Ergebnisbereich des Diagramms anpassen


Damit die Grafik ausreichend Platz bietet fr eventuelle Ausreierwerte, bercksichtigt Excel einen Ergebnisbereich von 150 bis +150 Prozent. Auf diese Weise wird viel Platz ober- und unterhalb der Bio-Kurven verschenkt, weil die Biorhythmus-Funktion als maximalen Ausschlag 100 Prozent liefert und Ausreierwerte sind bei diesen Berechnungen nicht zu erwarten. Daher legen Sie den Bereich selbst auf 100 Prozent fest. Positionieren Sie den Mauszeiger ber 1 der vertikalen Achse, auf der die Prozentzahlen dargestellt sind. Als Hilfe wird der Text Grenachse angezeigt.

Klicken Sie die Achse mit der rechten Maustaste an und whlen Sie im sich ffnenden Kontextmen den Eintrag Achse formatieren. Wechseln Sie zum Register Skalie3 rung und geben Sie als Minimum den Wert -1 (= -100 %) und als Maximum den Wert 1 (= 100 %) ein. Besttigen Sie die von Ihnen vorgenommene nderung mit einem Klick auf OK. Klicken Sie erneut mit der rechten 4 Maustaste auf die Grenachse und whlen Sie jetzt im sich ffnenden Kontextmen den Menpunkt Markierung lschen. Damit blenden Sie die Anzeige der Prozentskala aus. Ingo Bhme

Im neuen Gewand: Nach der Formatierung ist das Diagramm kaum wiederzuerkennen.

CHIP | OFFICE KOMPAKT

109

INFO

Biorhythmus

fr Partnerbeziehungen

Ob in einer Ehe oder in einer Geschftsbeziehung: Die gemeinsame Stimmung ist immer die Summe der krperlichen und geistigen Zustnde der beiden Partner. Wenn Sie mit diesem Artikel Ihren eigenen Biorhythmus dargestellt haben, knnen Sie noch einen Schritt weiter gehen. Im Grunde genommen erfolgt die Aufbereitung des Biorhythmus fr die Partnerkurve hnlich wie die fr eine einzelne Person. Allerdings bentigen Sie ein zweites Tabellenblatt, in dem Sie den Biorhythmus Ihres Ehe- oder Geschftspartners auf dieselbe Art und Weise erfassen wie zuvor Ihren eigenen. Am einfachsten kopieren Sie dazu das ursprngliche Arbeitsblatt: Klicken Sie mit der linken Maustaste auf den Reiter des Tabellenblatts am unteren Bildschirmrand und drcken Sie gleichzeitig die Strg-Taste. Halten Sie sowohl die Mausals auch die Strg-Taste gedrckt. Der Mauszeiger zeigt nun zustzlich zum Pfeil ein Dokumentensymbol mit einem Pluszeichen an. Verschieben Sie den Mauszeiger ein wenig nach rechts, bis zwischen den ersten beiden Registerblttern ein nach unten zeigendes Dreieck erscheint. Lassen Sie die Maustaste los. Es erscheint an dieser Stelle ein neues Registerblatt mit dem Namen Kopie von Tabelle1. Benennen Sie die beiden Tabellen nach einem Doppelklick auf die Reiter in Bio und Bio1 um. ndern Sie in dem Tabellenblatt Bio1 das Geburtsdatum in der Zelle E2, und tragen Sie in der Zelle F2 einen Verweis auf das aktuelle Datum innerhalb der eigentlichen Biorhythmus-Tabelle ein: =Bio!F2. Erstellen Sie wie eben eine Kopie der zweiten

Tabelle Bio1, die Sie Biokombi nennen. Geben Sie in der Tabelle Biokombi in der Zelle B2 die Formel =(Bio!B2+ Bio1!B2)/2 ein und kopieren Sie diese Formel ber die Zwischenablage auf alle Zellen des Wertebereichs von B2 bis D29. Nun sehen Sie in dem eingebetteten Diagramm, dass sich der Partnerrhythmus leider nicht immer harmonisch durchs Leben schlngelt.

CHIP | OFFICE KOMPAKT

110

Auf Heft-CD

Einkommensteuer grafisch darstellen

Heiraten spart Steuern


Unter welchen Voraussetzungen Sie beim Ehegatten-Splitting von steuerlichen Vorteilen profitieren und wie gro diese sind, zeigt am besten eine Grafik.

KNOW-HOW Absolute Adresse


Unter einer absoluten Adresse versteht man einen Zellbezug innerhalb einer Formel, der sich beim Kopieren in andere Zellen nicht anpasst. Die absolute Adresse kann wahlweise nur die Spalte, nur die Zeile oder beides zusammen festlegen.

ie man in Deutschland die Einkommensteuer berechnet, haben Sie im Beitrag ab s86 erfahren. Sicherlich wissen Sie, dass Ehepaare beim Ehegatten-Splitting in der Regel weniger Steuern zahlen als unverheiratete Paare. Doch in der Regel heit nicht immer: Steuervorteile gibt es nur dann, wenn die Einkommen der Ehepartner stark voneinander abweichen. Verdient der eine Partner

CHIP | OFFICE KOMPAKT

VERSIONEN

PROGRAMMIERUNG LSUNGEN Ehegatten-Splitting TIPPS & TRICKS

111

beispielsweise 30.000 Euro und der andere 25.000 Euro im Jahr, so betrgt der Steuervorteil gerade einmal 47 Euro pro Jahr, wenn die Partner nach dem Splitting-Verfahren veranlagt werden. In diesem Workshop werden Sie eine Tabelle erzeugen, aus der Sie sehr leicht die Steuerersparnis bei unterschiedlichen Konstellationen der Einkommen ausrechnen knnen. Da ein Bild bekanntlich mehr als tausend Worte sagt, werden wir diese Tabelle in ein anschauliches Diagramm umsetzen. Mit einer selbst entworfenen Navigationsleiste knnen Sie das dreidimensionale Diagramm in jede beliebige Richtung drehen, um es aus verschiedenen Blickwinkeln zu betrachten. Auf diese Weise entgeht Ihnen kein Detail.

TIPP

berschriften fixieren
Wenn Sie an jeder beliebigen Stelle der Tabelle stets die Spaltenberschriften im Blick behalten mchten, sollten Sie diese fixieren. Dazu klicken Sie mit der Maus in die Zelle B3 und whlen dann im Men Fenster den Eintrag Fenster fixieren.

Add-In von der beiliegenden Heft-CD installieren

Da Sie wahrscheinlich keine Lust haben, die Steuerformel erneut einzugeben, gehen Sie den einfacheren Weg und installieren das Add-In mit dem Namen ekst2002.xla, das wir aus der Steuerformel erzeugt haben, von der Heft-CD. Schlieen Sie Excel, falls es 1 noch offen sein sollte. Legen Sie die Heft-CD ins 2 Laufwerk ein und starten Sie den Windows-Explorer. Navigieren Sie auf der Heft3 CD in die Rubrik ExcelVorlagen, suchen Sie die Vorlage Einkommensteuer 2002, klicken berflieger: Sobald das Add-In von der Heft-CD im Add-In-Manager mit einem Hkchen markiert ist, Sie auf den Button Start und steht Ihnen die Steuerformel in allen Arbeitsmappen, markieren Sie im ZIP-Archiv die die Sie mit Excel erzeugen, zur Verfgung. Datei ekst2002.xla.

Wechseln Sie im Explorer zur Festplatte Ihres Computers und dort in ein beliebiges Verzeichnis. Extrahieren Sie nun die Datei ekst2002.xla ber den Button Extrahieren in diesen Ordner. Klicken Sie die soeben neu erstellte 5 Datei mit einem Doppelklick an. Daraufhin erscheint die Meldung des Add-Ins, dass es jetzt installiert ist und ab sofort in Excel eingesetzt werden kann. Dieses Add-In stellt Ihnen in allen Arbeitsmappen vier Funktionen zur Verf- k

CHIP | OFFICE KOMPAKT

112

VERSIONEN

PROGRAMMIERUNG LSUNGEN Ehegatten-Splitting TIPPS & TRICKS

gung. Alle diese Funktionen erhalten als Parameter das zu versteuernde Einkommen. Die Einkommensteuer fr Singles wird mit der Funktion EkSt berechnet, die fr verheiratete Paare mit EkStSplit. Sind beide Partner Angestellte und beziehen Gehalt, sollte die Funktionen Lohnsteuer oder LohnsteuerSplit verwendet werden. Wir gehen von der Einkommensteuer aus: Soll etwa die Einkommensteuer bei einem zu versteuernden Einkommen von 100.000 Euro eines Singles berechnet werden, lautet die Formel =EKST(100000;0).

bersichtstabelle der Einkommensverhltnisse


In einem ersten Schritt erzeugen Sie eine Tabelle, in deren Spalten Sie das angenommene Einkommen der Ehepartner in Hhe von

5000 bis 100.000 Euro angeben. In den Zellen darunter soll die jeweilige Steuerersparnis angegeben werden. Steht zum Beispiel in Zelle H2 das Gehalt des Mannes und in Zelle A18 das Gehalt der Frau, so finden Sie in Zelle H18, also dem Schnittpunkt der beiden Angaben, die Steuerersparnis des Paares, sofern es verheiratet wre. Dabei mssen Sie folgende Punkte bercksichtigen: Handelt es sich bei beiden um Singles, so gilt fr ihn die Steuerformel =EKST 2002 (H2;0) und fr sie =EKST 2002A18;0). Werden die beiden gemeinsam veranlagt, errechnen Sie die Gesamtsteuer mit der Formel =EKST 2002(H2+A18;1). Wollen Sie wissen, wieviel die beiden sparen, wrden sie heiraten, addieren Sie die Single-Steuern und ziehen davon das Ehegatten-Steuerergebnis ab, also =EKST2002

Viele, viele Zahlen: Bereits in der Tabelle knnen Sie anhand der Zahlenreihen ohne groe Mhe erkennen, wann es sich lohnt zu heiraten zumindest aus finanzieller Sicht.

CHIP | OFFICE KOMPAKT

113

(A18;0)+EKST2002(H2;0)-EKST2002 (A18+H2;1). Mit dieser Formel fllen Sie eine ganze Tabelle. Folgen Sie dazu einfach der Arbeitsanweisung. Erstellen Sie eine neue Arbeitsmappe, 1 tragen Sie in Zelle B1 den Text Ehemann und in die Zellen B2 die Zahl 0 sowie in C2 die Zahl 5040 ein. Markieren Sie die Zellen B2 und C2. 2 Unten rechts an der Markierung sehen Sie ein kleines Quadrat. Klicken Sie es mit der Maus an und ziehen Sie es bei gedrckter Maustaste nach rechts bis etwa zur Zelle Z2. Auf diese Weise werden die Zellen mit aufsteigenden Werten und einer Schrittweite von 5040 gefllt. Diese Zahl ist ein Vielfaches von 36 Euro, was der Schrittweite in Steuertabellen entspricht. Geben Sie in die Zellen A2, A3 und A4 3 wie beschrieben den Text Ehefrau und die Werte 0 und 5040 ein. Markieren Sie die Zellen A3 und A4 4 mit der Maus und ziehen Sie, hnlich wie in Schritt 2, die Markierung am kleinen Quadrat rechts unten mit der Maus etwa bis zur Zeile 27. Lassen Sie die Maustaste los. Formatieren Sie diese Angaben mit 5 einer Hintergrundfarbe, dem Schriftstil fett und einer Zahlenformatierung mit Tausenderpunkt. Geben Sie jetzt in die Zelle B3 die 6 Formel =EKST2002 ($A3 ;0)+EKST 2002(B$2;0)-EKST2002($A3+B$2;1) ein. Da es sich um eine Formel mit absoluten Adressen (s. Kasten s110)handelt, knnen Sie sie ber die Zwischenablage auf das Tabellenblatt verteilen. Die Bezge werden sich immer an der ersten Spalte (Einkommen der Ehefrau) und der Zeile mit dem Einkommen des Ehemannes orientieren.

Markieren Sie die Zelle B3 mit der Maus und kopieren Sie die darin enthaltene Formel mit der Tastenkombination Strg+C in die Zwischenablage. Markieren Sie den gesamten Bereich 8 von Zelle B3 bis zur letzten Zelle der Tabelle Z27. Fgen Sie mit Strg+V die Formel aus der Zwischenablage ein. Nun sehen Sie das Ergebnis und knnen aus der Tabelle ablesen, bei welchen Einkommensverhltnissen die Steuerersparnis am grten ist. Sie werden zu dem Ergebnis kommen, dass es sich nur dann lohnt, aus steuerlichen Grnden zu heiraten, wenn die beiden Einkommen sehr stark voneinander abweichen oder einer der Partner kein Einkommen bezieht.

Balkendiagramm aus der Steuertabelle anlegen


Wer die Interpretation solcher Datenmengen nicht gewohnt ist, kann die Sachverhalte oft leichter mit Hilfe von Diagrammen als in einer Tabelle mit Zahlenkolonnen erfassen. In unserem Beispiel eignet sich dazu hervorragend ein dreidimensionales Flchen- oder Sulendiagramm. Fr welches Diagramm Sie sich entscheiden, ist Geschmackssache. Wir zeigen Ihnen, wie Sie aus der Tabelle ein Sulendiagramm anlegen. Lschen Sie den Inhalt der Zelle A2 1 (Ehefrau), weil sonst der DiagrammAssistent von Excel die Achsenbeschriftung des Diagramms nicht korrekt zuordnen kann. Spter knnen Sie diese Zelle wieder wie zuvor beschriften. Markieren Sie den Zellenbereich von 2 A2 bis Z27 mit der Maus. Whlen Sie im Men Einfgen den 3 Eintrag Diagramm. k
CHIP | OFFICE KOMPAKT

114

VERSIONEN

PROGRAMMIERUNG LSUNGEN Ehegatten-Splitting TIPPS & TRICKS

bernehmen Sie den voreingestellten ersten Diagramm-Typ (siehe Kasten unten) Sule. Anschlieend whlen Sie als Diagramm-Untertyp rechts unten in der ersten Spalte 3D-Sule. Mit einem Klick auf Weiter gelangen Sie zur nchsten Seite. Auf der zweiten Seite des Assistenten 5 sind bereits alle Voreinstellungen getroffen, die fr das zu erstellende Diagramm erforderlich sind. bernehmen Sie die Optionen mit einem Klick auf Weiter. In diesem Schritt werden die Dia6 gramm-Optionen festgelegt: Tragen Sie dort den Diagramm-Titel, zum Beispiel Steuerersparnis beim Ehegatten-Splitting ein. Wechseln Sie zum Register Legende und entfernen Sie das Hkchen vor dem Kontrollkstchen, um die Legende auszublenden. Klicken Sie dann auf Weiter, um zur letzten Seite des Assistenten zu gelangen. Standardmig schlgt Ihnen Excel 7 vor, das neue Diagramm innerhalb der bestehenden Tabelle einzufgen. Fr unsere Zwecke ist es bersichtlicher, ein eigenes Arbeitsblatt erstellen zu lassen, auf dem das Diagramm erscheint. Klicken Sie deshalb auf das Optionsfeld Als neues Blatt. Beenden Sie den Assistenten mit 8 der Schaltflche Fertigstellen.

Rotations-Makro zum Drehen des Diagramms erzeugen


Das Diagramm, das der Excel-Assistent anhand Ihrer Angaben erzeugt hat, gibt Ihnen bereits einen guten Einblick in das Prinzip des Ehegatten-Splitting. So sieht man zum Beispiel, dass am Rand also wenn das Einkommen eines der Ehepartner sehr gering ist der steuerliche Vorteil am grten ist. Nun wre es schn, dieses Diagramm beliebig um seine Achsen drehen zu knnen, um es aus verschiedenen Blickwinkeln zu betrachten. Dazu steht normalerweise der Dialog Diagramm, 3D-Ansicht zur Verfgung. Seine Anwendung ist jedoch recht umstndlich, da Sie jedesmal den Dialog erneut aufrufen mssen, wenn Sie die Grafik rotieren lassen mchten. Mit Hilfe von sechs kleinen Makros bernimmt jedoch VBA diese Arbeit fr Sie. Drcken Sie in Excel die Tastenkom1 bination Alt+F11, um den VBAEditor aufzurufen. Fgen Sie ber Einfgen, Modul 2 ein neues Quelltext-Modul ein. Geben Sie die folgenden Makros ein, 3 die das Diagramm auf Wunsch linksund rechtsherum drehen.
Sub linksrum()

KNOW-HOW Diagramm-Typ
Excel kennt verschiedene Diagramm-Typen, zum Beispiel Linien-, Torten-, Sulen- oder Balkendiagramme. berlegen Sie genau, welcher Typ die Daten am besten darstellt. Sulendiagramme eignen sich beispielsweise besonders gut fr Datenvergleiche.

aktuell = t ActiveChart.Rotation - 5 If aktuell < 0 Then aktuell- = t aktuell + 360 ActiveChart.Rotation = t aktuell End Sub Sub rechtsrum() aktuell = t

CHIP | OFFICE KOMPAKT

115

Neue Sicht der Dinge: Eine attraktive Alternative zum Sulendiagramm stellt in unserem Beispiel ein dreidimensionales Flchendiagramm dar, das durch seine stufenlosen bergnge fr das menschliche Auge wesentlich besser zu erfassen ist.

ActiveChart.Rotation + 5 If aktuell > 360 Then t aktuell = aktuell - 360 ActiveChart.Rotation = t aktuell End Sub

dert. Falls er danach einen negativen Wert annimmt, wird wieder die Zahl 360 addiert, womit die Werte immer im Bereich zwischen 0 und 360 bleiben. Jetzt geben Sie die Makros ein, mit 4 denen Sie das Diagramm nach oben und nach unten rotieren lassen.
Sub hoch() aktuell = t ActiveChart.Elevation + 5 If aktuell > 90 Then t
CHIP | OFFICE KOMPAKT

Die Eigenschaft ActiveChart.Rotation enthlt dabei einen Wert zwischen 0 und 360, der den aktuellen Blickwinkel auf das Diagramm in Grad angibt. Im Makro linksrum wird dieser Wert um 5 Grad vermin-

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

116

VERSIONEN

PROGRAMMIERUNG LSUNGEN Ehegatten-Splitting TIPPS & TRICKS

aktuell = 90: Beep ActiveChart.Elevation = t aktuell End Sub Sub runter() aktuell = t ActiveChart.Elevation - 5 If aktuell < -90 Then t aktuell = -90: Beep ActiveChart.Elevation = t aktuell End Sub

Kehren Sie mit der Tastenkombination Alt+F11 zu Ihrem ExcelDiagramm zurck. Fhren Sie nacheinander mit dem Befehl Makro aus dem Untermen Makros von Extras die einzelnen neuen Makros aus.

Eigene Symbolleiste mit Schaltflchen anlegen


Diese Vorgehensweise bringt keine wirkliche Erleichterung. Erst wenn Sie die Makros mit Symbolschaltflchen verbinden und Sie das Diagramm auf Mausklick drehen knnen, wird Ihnen Arbeit abgenommen. Legen Sie ber den Menpunkt An1 sicht, Symbolleiste, Anpassen im Register Symbolleisten ber die Schaltflche Neu eine neue Symbolleiste an und geben Sie im zugehrigen Dialog als Namen Diagrammsteuerung ein. Klicken Sie auf OK, um die Symbol2 leiste zu erzeugen. Aktivieren Sie im Dialog Anpassen 3 das Register Befehle. Wenn Sie als Kategorie Makros 4 whlen, erscheinen in der rechten Liste zwei Eintrge. Ziehen Sie bei gedrckter Maustaste den mit einem Smiley gekennzeichneten zweiten Eintrag Schaltflche anpassen auf die neue Symbolleiste. Wiederholen Sie diesen Vorgang noch 5 fnfmal, so dass schlielich auf der neuen Symbolleiste insgesamt sechs Schaltflchen zu sehen sind. Als nchstes ndern Sie die Symbol6 bilder der Schaltflchen. Klicken Sie dazu mit der rechten Maustaste auf die erste Schaltflche von links. Whlen Sie aus dem Kontextmen den Eintrag Schaltflchensymbol ndern. Es erscheint eine Auswahl

Diese Rotation wird ber die Eigenschaft ActiveChart.Elevation bewerkstelligt. Hier liegt der Wertebereich zwischen 90 (Blick von unten) und 90 (Draufsicht). Zu guter Letzt lsst sich ber die 5 Eigenschaft ActiveChart.Perspective, die Werte zwischen 0 und 100 annehmen kann, die Perspektive auf das Diagramm beliebig verndern:
Sub PerspektivePlus() aktuell = t ActiveChart.Perspective + 5 If aktuell > 100 Then t aktuell = 100: Beep ActiveChart.Perspective = t aktuell End Sub Sub PerspektiveMinus() aktuell = t ActiveChart.Perspective - 5 If aktuell < 0 Then aktuell- = 0: Beep ActiveChart.Perspective = t aktuell End Sub
CHIP | OFFICE KOMPAKT

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

117

Neues Pltzchen fr die Steuerung: Ziehen Sie die sechs Symbolschaltflchen mit gedrckter Maustaste auf die von Ihnen neu angelegte Symbolleiste.

Der Knstler in Ihnen ist gefordert: Mit dem Schaltflchen-Editor knnen Sie die Grafiken der Symbolschaltflchen nach eigenen Vorstellungen gestalten.

von 42 Miniaturbildern. Whlen Sie fr die linke Schaltflche den nach links weisenden Pfeil per Mausklick aus. Weisen Sie auf die gleiche Weise den 7 folgenden drei Symbolschaltflchen die drei anderen Pfeile (rechts, hoch und nach unten) zu. Die Grafik der letzten beiden Schalt8 flchen whlen Sie entweder aus den weiteren Symbolen aus oder Sie erstellen ber das Kontextmen Schaltflchensymbol bearbeiten eine eigene Miniaturgrafik. Beenden Sie den Dialog Anpassen 9 mit einem Klick der Maus auf die Schaltflche Schlieen.

Schaltflchen und Makros verbinden


Damit die neuen Schaltflchen auch auf Mausklick funktionieren, weisen Sie ihnen jeweils eines der zuvor eingegebenen Makros fr die Steuerung zu.

Klicken Sie auf die Schaltflche mit dem nach links weisenden Pfeil, der Sie das erste Makros zuweisen. Daraufhin ffnet sich der Dialog 2 Makro zuweisen. Hier sehen Sie eine Liste aller zuvor mit dem VBA-Editor angelegten Makros. Whlen Sie den Eintrag linksrum und besttigen Sie Ihre Wahl mit einem Klick auf OK. Das Diagramm wird sogleich um 3 5 Grad nach links gedreht, und der Schaltflche ist ab sofort das ausgewhlte Makro zugewiesen. Klicken Sie jetzt ein weiteres Mal auf die linke Symbolschaltflche, wird die Grafik ohne Rckfrage gedreht. Weisen Sie auf diese Weise den b4 rigen Symbolschaltflchen die restlichen fnf Steuerungs-Makros rechtsrum, hoch, runter, PerspektivePlus und PerspektiveMinus zu. Vergessen Sie nicht, Ihre Excel-Arbeitsmappe nach vollbrachter Arbeit zu speichern. Ingo Bhme

CHIP | OFFICE KOMPAKT

118

VERSIONEN

PROGRAMMIERUNG LSUNGEN Formulare erstellen TIPPS & TRICKS

Professionell Rechnungen schreiben

Automatisiertes Rechnungsformular anfertigen


DAS BRAUCHEN SIE:

Excel 97, 2000 oder 2002 DAS LERNEN SIE: Spalten- und Zeilenhhe verndern Zellen formatieren Wordart-Objekte einfgen Zellbereiche formatieren Formeln erstellen und kopieren Absolute Zellbezge Druckbereiche festlegen Dokumentvorlagen erzeugen

Bevor die Kasse klingelt, muss zunchst eine Rechnung geschrieben werden. Mit Hilfe des Rechenknstlers Excel und einer passenden Rechnungsvorlage gelingt Ihnen das im Handumdrehen. CHIP zeigt Ihnen in diesem Beitrag, wie Sie eine solche Vorlage fr Ihren Betrieb anfertigen. Ihnen knftig bei der Rechnungsstellung als Vorlage dient. Dabei spielt es keine Rolle, ob Sie Dienstleistungen oder Waren zum halben oder zum vollen Mehrwertsteuersatz berechnen. Und selbst das Porto, das gnzlich von der Steuer befreit ist, wird hier korrekt ausgewiesen. Zu guter Letzt formatieren Sie das Formular so, dass es auf jeden Fall auf nur einer Seite gedruckt wird. Damit Sie es immer wieder nutzen knnen, wird es als Vorlage gespeichert.

er als Selbststndiger, Freiberufler oder fr seinen Gewerbebetrieb Rechnungen schreiben muss, fr den ist Excel ein hervorragendes Programm. Denn mit Hilfe einfacher Formeln lassen sich mit geringem Aufwand Rechnungen samt Mehrwertsteuernachweis schreiben, und zwar ohne Geld fr spezielle Zusatzsoftware ausgeben zu mssen. In diesem Workshop erzeugen Sie Schritt fr Schritt ein individuelles Formular, das
CHIP | OFFICE KOMPAKT

119

SCHRITT

Formularkopf und -fu gestalten

Bevor Sie die ersten Formeln eingeben, formatieren Sie zunchst den Kopfbereich des Rechnungsformulars. Starten Sie dazu Excel mit einer neuen Arbeitsmappe und nehmen Sie die Eingaben wie im Bild zu sehen vor.

1 2 3 4 5

Zellen 1 Markieren Sie die klicken von A1 bis E50, indem Sie mit der Maus auf A1 und bei gedrckter Maustaste die Zelle E50 whlen. Frben Sie den Hintergrund mit der Farbe Wei.

von der Adresse ein und formatieren Sie die Schrift in 8 Punkt Gre. Sie in den Zellen von A9 bis A12 die Platz4 Geben die sptere Eingahalter fr be der Rechnungsadresse ein. Sie in der 5 SchreibenText DatumZelle D12 den und formatieren Sie die Zelle in Fettschrift und rechtsbndig. In E12 tragen Sie das aktuelle Tagesdatum ein. Sie in der 6 GebenA50 als FuZelle zeile Ihre Bankverbin-

HINWEIS
Seit dem 1. Juli 2002 mssen Rechnungen mit Mehrwertsteuerausweis wahlweise mit der Umsatzsteuer-Identifikationsnummer oder der persnlichen Steuernummer des Finanzamtes versehen sein, andernfalls kann der Adressat sie zurcksenden. Diese Nummer sollte am besten in der Fuzeile stehen.

2 3

Geben Sie in der Zelle A1 Ihren Firmennamen ein, stellen Sie die Schriftgre 24 und Fettschrift ein. Tragen Sie in der Zelle A2 einige Leerzeichen gefolgt

6 6

dung ein. Markieren Sie den Text Bankverbindung und formatieren Sie das Wort fett.
CHIP | OFFICE KOMPAKT

120

VERSIONEN

PROGRAMMIERUNG LSUNGEN Formulare erstellen TIPPS & TRICKS

SCHRITT

Zeilen und Spalten des Formulars formatieren

In diesem Schritt legen Sie die fr die einzelnen Spalten des Formulars jeweils am besten geeignete Breite und Hhe fest. Die dafr erforderlichen Angaben resultieren aus dem Platz, den die einzelnen Spalten der Rechnungstabelle belegen.

Sie 1 Markiereneinendie Spalte 2 ffnen Sie das Men 3 Stellen9 Sie die SpaltenA durch Klick auf Format und whlen Sie breite ein und besttiden Spaltenkopf. Spalte und Breite. gen Sie mit OK.

4 4 4 4

Legen auf Weise 4 die vonSieauf 6,gleiche aufauf die Breite von Spalte B 40, C von D 13 und die von E auf 14 fest.
CHIP | OFFICE KOMPAKT

121

5 Markieren Sie die Zelle A21 mit der Maus. 6 Halten Sie jetzt die Umschalt-Taste gedrckt und klicken Sie auf die Zeilennummer 45 links neben der Spalte A. Sie das Kontext7 ffnen mitMaustasteKlick men einem der rechten auf den markierten Bereich und whlen Sie Zellenhhe.

8 7 6
SCHRITT

Sie im 8 Tragen Sie mit18Eingabefeld den Wert ein und besttigen OK.

WordArt-Schriftzug zum Formular hinzufgen

Heben Sie den Text, der dem Empfnger sagt, dass er eine Rechnung in Hnden hlt, mit einem hinterlegten Schatten hervor. Dazu verwenden Sie die Anwendung WordArt, die zu Microsoft Office gehrt, aber nur ber die einzelnen Anwendungen und nicht als eigenstndiges Programm aktiviert werden kann.
auf eine 1 Klicken Siehier D6. beliebige Zelle, das 2 ffnen Sie WhlenMen Einfgen. Sie dort den Eintrag Grafik und dann WordArt.

CHIP | OFFICE KOMPAKT

122

VERSIONEN

PROGRAMMIERUNG LSUNGEN Formulare erstellen TIPPS & TRICKS

Whlen 3 wahl mitSie inzuder Auseinem Doppelklick eine nicht ausgefallene Grafikvariante, zum Beispiel die zweite von links in der zweiten Zeile, aus.

TIPP
Sie knnen die Gre des WordArt-Schriftzugs beliebig verndern, indem Sie ihn markieren und mit der Maustaste einen der acht Ankerpunkte verschieben. Mit den seitlichen Punkten ndern Sie wahlweise die Hhe oder Breite. Mit den Eckpunkten knnen Sie die Gesamtgre des Schriftzugs beeinfluen.

4 4
Sie 4 Tragen den im Eingabedialog Text Rechnung ein, formatieren Sie ihn in Fettschrift und mit 20 Punkt Gre. Klicken Sie dann auf OK.
CHIP | OFFICE KOMPAKT

123

Platzieren 5 art-Objekt Sie das Wordmit Hilfe der Maus direkt oberhalb der Datumsangabe.

SCHRITT

Die Rechnungstabelle vorbereiten

In diesem Schritt gestalten Sie den Bereich der eigentlichen Rechnungstabelle.

1 In die Zellen A20 bis E20 schreiben Sie die berschriften der Rechnungstabelle. Markieren Sie sie nach der Eingabe und stellen Sie Fettschrift ein.

3 2

2 MarkierenSieSie den Zellbereich von D20 bis E49, formatieren den Bereich
rechtsbndig und mit der Whrung Euro ( ).

Markieren Sie den Zellbereich von C20 bis C49 und klicken Sie auf das Prozentzeichen in der Symbolleiste, um die Zahlen in den markierten Zellen als Prozentwerte zu formatieren.

CHIP | OFFICE KOMPAKT

124

VERSIONEN

PROGRAMMIERUNG LSUNGEN Formulare erstellen TIPPS & TRICKS

5 6

4 MarkierenbisSie den Zellbereich von A21 E45 mit der Maus. Whlen Sie im Men Format den
Punkt Zellen und im Dialog das Register Ausrichtung. Whlen Sie als vertikale 5 tung den Listeneintrag AusrichOben. 6 Markieren Sie das Kontrollkstchen vor Zeilenumbruch. 7 Besttigen Sie die Auswahl mit einem Klick auf OK.

CHIP | OFFICE KOMPAKT

125

SCHRITT

Die Rechnungspositionen berechnen

In diesem Schritt geben Sie die Formeln ein, die die Summe der einzelnen Positionen und den Gesamtbetrag errechnen. Damit bei leeren Positionen nicht unntigerweise 0 Euro angezeigt wird, betten Sie die Formel in eine Abfrage ein, die nur dann ein Ergebnis produziert, wenn das Produkt aus Menge und Einzelpreis einen Wert ungleich Null ergibt. Damit das Ergebnis der Rechnungspositionen korrekt weiterverarbeitet werden kann, runden Sie es auf zwei Stellen nach dem Komma.

E21 1WGeben( DSie1inAdie<ZelleRu n die folgende Formel ein: = ENN 2 * 21 >0; den(D21*A21;2);"")

diese 2 Markieren Sie bis zurZelle und ziehen Sie die Markierung mit Hilfe des Markierungspunktes Zelle E41. Die Formel wird dabei automatisch in die Zellen kopiert und angepasst.

CHIP | OFFICE KOMPAKT

126

VERSIONEN

PROGRAMMIERUNG LSUNGEN Formulare erstellen TIPPS & TRICKS

SCHRITT

Mehrwertsteuer-Auswahl per Liste

Da sich zur Aufbesserung des Bundeshaushalts besonders die Erhhung der Mehrwertsteuer anbietet, sollten Sie in Ihrem Rechnungsformular bezglich des Steuersatzes flexibel bleiben. Gleichzeitig knnen Sie in Ihrem Rechnungsformular den Eintrag in der MwSt-Spalte aus einem aufklappbaren Listenfeld auswhlen.

3 1 2

4 4

Tragen Sie zum Beispiel in die Zelle G20 den Wert 0 %, in H20 den Prozentsatz der halben Mehrwertsteuer (zur Zeit 7 %) und in I20 den normalen Mehrwertsteuersatz in Hhe von 16 % ein.

Markieren Sie nun in der Spalte Mehrwertsteuer die Zellen von C21 bis C41 mit der Maus. ffnen das 3 Daten SieEintragMen und klicken Sie dort auf den Gltigkeit.

im Listen4 Whlen Sie Geben den feld Zulassen Eintrag Liste. Sie im Textfeld unter Quelle den im ersten Schritt eingegebenen Zellbereich ein: =$G$20:$I$20. Ein5 Besttigen Sie dieOK. stellungen mit

CHIP | OFFICE KOMPAKT

127

TIPP
Sollte sich die Hhe der Mehrwertsteuer ndern, mssen Sie in dieser Formularvorlage nur die Inhalte der Zellen H20 und I20 dem neuen Steuersatz anpassen. Smtliche anderen Zellen und Berechnungen beziehen sich auf diese Steuerstze.

Sie nun wie in der Abbil6 Gebengezeigt in den Zellen A21ein. dung bis D23 einige Rechnungspositionen Zum Auswhlen der jeweiligen 7 Mehrwertsteuer klicken Sie auf den Pfeil. Markieren Sie den gewnschten Steuersatz in der Liste.

CHIP | OFFICE KOMPAKT

128

VERSIONEN

PROGRAMMIERUNG LSUNGEN Formulare erstellen TIPPS & TRICKS

SCHRITT

Mehrwertsteuer-Betrge trennen

Damit Sie in Ihren Rechnungen auch Posten ohne Mehrwertsteuer (zum Beispiel Postgebhren) oder mit halber Mehrwertsteuer wie Bcher oder Arzneimittel aufnehmen knnen, muss bei jeder Position der zugehrige Mehrwertsteuersatz angegeben werden, den es bei der Berechnung zu bercksichtigen gilt. Hierbei handelt es sich um eine Hilfsberechnung, die spter auf dem Ausdruck der Rechnung nicht erscheint. Daher mssen diese Zellen nicht speziell formatiert werden.

die Zelle der 1 Markieren Sie Sie diese I21 mit ein: Maus. Geben Formel =WENN($C21= I$20;$E21;0) I21 mit der rech2 Klicken Sie die Zelleim Kontextmen. ten Maustaste an und whlen Sie den Befehl Kopieren Markieren dann den Zellbereich 3 G21 bis I41Siederder Maus und klicken mit Sie erneut mit rechten Maustaste auf den markierten Bereich. Sie im Kontextmen Be4 WhlenBereich zuum die Formeldenden fehl Einfgen, in gesamten kopieren.

CHIP | OFFICE KOMPAKT

129

SCHRITT

Die Summen der einzelnen Positionen berechnen

In diesem Schritt berechnen Sie die Summen der einzelnen Mehrwertsteuer-Posten und weisen diese separat neben der Rechnungssumme aus.

7 6

1 2

4
HINWEIS
Bei Rechnungen, in denen die Nettopreise der einzelnen Positionen ausgewiesen sind, mssen Sie lediglich die Formeln der Rechnungssumme anpassen. So steht rechts neben der Nettosumme in der Zelle E42 die Formel =SUMME (E21:E41). Der halbe Mehrwertsteuersatz in Zelle E43 wird dann nach der Formel =RUNDEN(H42*C43;2) und der volle Satz in der Zelle E44 nach der Formel =RUNDEN (I42*C44;2) berechnet. Die Gesamtsumme in Zelle E45 entspricht dann der Formel =E42+E43+E44.

Zelle die Mehrwertsteuer1 Tragen Sie inFormelH42ein: satzes berechnen Sie auf folgende 5 Den des vollen Steuerbetrag =SUMME(H21:H41). Mit ihr wird die Summe fr Betrge mit halber Mehrwertsteuer berechnet. analog in 2 Geben SieFormel frZelle I42 die die Summe der Betrge mit 16 Prozent Mehrwertsteuer ein: =SUMME(I21:I41). zwei Stellen gerundet anhand der Summe der entsprechenden Rechnungspositionen. Geben Sie dazu in Zelle E44 die folgende Formel ein: =RUNDEN(I42/ (1+C44)*C44;2).

Analog lautet die Formel Sie unter 3 Beschriften Rechnungs- 6 in Zelle E43 fr den halder Rechnungstabelle die ben Mehrwertsteuersatz: Angaben der summe wie im Bild dargestellt und formatieren Sie diesen Text in Fettschrift. =RUNDEN(H42/(1+C43) *C43;2).

Lassen Sie Excel die Gesamtsumme der Rechnung in der Zelle E45 mit folgender Formel berechnen: =SUMME(E21:E41).

der 7 Der Nettobetrag inBrutZelle E42 errechnet sich aus der Differenz von tobetrag und den beiden Betrgen der Mehrwertsteuer =E45-E44-E43.

CHIP | OFFICE KOMPAKT

130

VERSIONEN

PROGRAMMIERUNG LSUNGEN Formulare erstellen TIPPS & TRICKS

SCHRITT

Die Formelbereiche der Tabelle schtzen

Damit Sie nicht aus Versehen die Formeln in der Rechnung berschreiben, schtzen Sie das Arbeitsblatt und lassen nur in ausgewhlten Bereichen Eingaben zu, in denen der Benutzer des Rechnungsformulars Eintrge vornehmen darf.

4 1 2

3
den bis 1 Markieren SieHalten Zellbereich von A9 geA12, in dem sich die Adressdaten der Rechnung befinden. Sie die Taste Strg drckt. Klicken Sie auf die Zelle E12, in der das Rechnungsdatum eingetragen wird.

2 Halten Sie die Taste Strg gedrckt. Klicken Sie auf Zelle E12, in die das Rechnungsdatum eingetragen wird.
Halten Sie die Strg ge3 drckt und weiterhinMaus.Taste Zellbereich markieren Sie den von A21 bis D41 mit der Format 4 ffnen Sie das MenZelle. und whlen Sie den Menpunkt Sie das Register Schutz und 5 Aktivieren KontrollkstchenKlick die Markieentfernen Sie mit einem rung vor dem Gesperrt.

6 Besttigen Sie Ihre Auswahl mit OK.

CHIP | OFFICE KOMPAKT

131

Whlen Sie im Men erst den 7 Extrasund dann Eintrag Schutz Blatt schtzen. Besttigen Sie den folgenden Dialog sofort mit einem Klick auf OK.

7
TIPP
Ist ein Tabellenblatt geschtzt, so gelangen Sie mit der Tabulatortaste jeweils zur nchsten Zelle, in der eine Eingabe mglich ist.

SCHRITT

10

Die Seitenrnder an das Formular anpassen

Wrden Sie nun die Rechnung drucken, erschiene sie wahrscheinlich auf zwei bis vier Seiten verteilt. Der Grund: Neben den Rechnungsfeldern wrden auch die Hilfsfelder zu Papier gebracht werden. Aus diesem Grund legen Sie vor dem Ausdruck den Druckbereich fest und passen die Seitenrnder an das Formular an.
Markieren Sie 1 nungsformulardas Rechmit der Maus von Zelle A1 bis E50. Whlen Men 2 Datei Sie im Befehl den Druckbereich und danach Druckbereich festlegen.

1 2

HINWEIS
Kontrollieren knnen Sie das Druckergebnis ber die Seitenvorschau, die Sie am schnellsten mit einem Klick auf das entsprechende Druckersymbol oben in der Symbolleiste aufrufen.

CHIP | OFFICE KOMPAKT

132

VERSIONEN

PROGRAMMIERUNG LSUNGEN Formulare erstellen TIPPS & TRICKS

4 5
Sie das Men 3 ffnen und whlen Sie Datei, Seite einrichten.

4 Klicken Sie im Dialog auf die Registerkarte Seitenrnder.


Wert des 5 Tragen Sie alsdes unteoberen und ren Randes 0 ein.

Aktivieren Sie mit 6 Mausklick die erste einem Registerkarte Papierformat. im 7 Klicken Sie das Abschnitt Skalieren Optionsfeld Anpassen an. Auf diese

7 8

Weise wird der festgelegte Druckbereich derart skaliert, dass er immer auf eine einzelne Seite passt. Schlieen Dialog 8 mit einemSie denauf die Klick Schaltflche OK.

CHIP | OFFICE KOMPAKT

133

SCHRITT

11

Als Mustervorlage speichern

Zum Schluss speichern Sie die Rechnung als so genannte Mustervorlage. Dadurch steht Ihnen knftig beim Anlegen eines neuen Excel-Dokuments auch dieses Rechnungsformular zur Verfgung.

10

Automatisch ndert sich das Verzeichnis: Excel zeigt Ihnen sofort den Ordner an, den es regulr zum Verwalten von Mustervorlagen verwenden.

INFO
Wann immer Sie nun ber Datei und Neu ein neues Arbeitsblatt anlegen, wird Ihnen auch die gerade erzeugte Vorlage angezeigt. Whlen Sie diese, dann erzeugt Excel ein neues Dokument auf Basis der Vorlage, die smtliche Berechnungen und Formatierungen enthlt.

2
das Men Sie diese 1 ffnen Siewhlen Sie Da- 3 berschreibenden Dateitei und den Vorgabe fr Befehl Speichern unter. namen zum Beispiel mit

Rechnungsvorlage. per Klick auf die Schalt4 Sichern Sie die Vorlage flche Speichern.

Whlen Sie aus der Auswahlliste neben Dateityp den Eintrag Mustervorlage (*.xlt).

CHIP | OFFICE KOMPAKT

134

VERSIONEN

PROGRAMMIERUNG LSUNGEN Haushaltsplan fhren TIPPS & TRICKS

Alle Einnahmen und Ausgaben unter Kontrolle

Mit Excel einen cleveren

Haushaltsplan
erarbeiten
DAS BRAUCHEN SIE:

Excel 97 oder 2000 DAS LERNEN SIE: Zellen formatieren Automatische Summenformel nutzen Zellen automatisch ausfllen Negativwerte farbig darstellen

Die Weihnachtsgeschenke werden wieder ein groes Loch in Ihrem Geldbeutel hinterlassen? Knnen Sie den nchsten Urlaub trotzdem frhzeitig buchen? Mit einem detaillierten Haushaltsplan fr Ihre Einnahmen und Ausgaben behalten Sie Ihre finanziellen Mglichkeiten im Blick.

eue Turnschuhe fr den Sohn, ein schickes Kleid fr die Tochter, der Wagen muss dringend zur Inspektion: Das schwerverdiente Geld rinnt manchem schneller durch die Finger, als ihm lieb ist. Mit unserem Haushaltsplan aus diesem Beitrag haben Sie Ihren Kontostand stets im Blick. Sie mssen lediglich Ihre Einnahmen und Ausgaben diszipliniert protokollieren den aktuellen Kassensturz berechnet Excel

automatisch. So sehen Sie sofort, ob Sparen angesagt ist oder ob Sie sich einen Urlaub im sonnigen Sden leisten knnen. Wir zeigen Ihnen auf den nchsten Seiten Schritt fr Schritt, wie Sie den Haushaltsplan fr ein ganzes Jahr mit dem Tabellenkalkulationsprogramm Excel anlegen. Die Beispiele sind mit Excel 2000 durchgefhrt und bebildert. Auf Unterschiede zu Excel 97 weisen wir im Text hin.

CHIP | OFFICE KOMPAKT

Foto: K. Satzinger

135

SCHRITT

Die Tabellenstruktur des Haushaltsplans festlegen

Nach dem Start von Excel legen Sie zunchst die Tabellenstruktur Ihres Haushaltsplans fest. Dazu zhlen die berschrift, die Einnahmequellen wie Gehalt, Nebenttigkeiten und Kindergeld sowie alle Ausgaben, zum Beispiel Miete, Versicherungen oder Aufwendungen fr Lebensmittel, und schlielich die Monatsangaben.
in Zelle 1 Schreiben Sie2004. A1 die berschrift, hier: Haushaltplan

Tragen Sie in Zelle A4 Einnahmen ein und in Zelle A5 bertrag Vormonat. Listen Sie in den 2 Zellen darunter alle Einnahmequellen auf wie Gehalt oder Kindergeld.

6 2

7 Fhren Sie den Mauszeiger auf das Ausfllkstchen in der rechten unteren Ecke des Zellmarkierers. Sobald der Zeiger als einfaches Kreuz erscheint, klicken Sie das Kstchen an und halten die linke Maustaste gedrckt.

Lassen Sie zur besse3 ren bersicht eine Zeile frei und geben Sie Gesamteinnahmen ein. Lassen Sie 4 Ausgabenwieder eine Zeile frei und schreiben Sie in die Zelle. Darunter listen Sie alle Ihre Ausgaben auf, zum Beispiel Miete, Versicherungen, Strom, Lebensmittel, Kleidung, Taschengeld und natrlich Urlaub.

8 5 5
Ziehen Sie das Ausfll8 Maustastemit gedrckkstchen ter die Zeile 3 entlang bis zu Zelle M3. Whrend des Ziehens zeigt Excel jeweils den Monatsnamen neben dem Mauszeiger an, hier den Monat Dezember.

Nach einer freien Zeile schreiben Sie Gesamtausgaben. Lassen Sie erneut eine Zeile frei und geben Sie Saldo ein.

in 6 Geben Sieein.Zelle B3 Januar

9
Nach dem Loslassen der Maustaste hat 9 die Monatsnamen eingefgt. C3 bis Excel automatisch in den Zellen M3

CHIP | OFFICE KOMPAKT

136

VERSIONEN

PROGRAMMIERUNG LSUNGEN Haushaltsplan fhren TIPPS & TRICKS

SCHRITT

Tabelle formatieren, Spalte verbreitern

Excel passt zwar die Zeilenhhe an die verwendete Schrift an, nicht aber die Spaltenbreite. Hier mssen Sie selbst aktiv werden, da sonst der Inhalt einer Zelle nicht komplett zu lesen ist. Farbige Zeilen oder fettgedruckte berschriften helfen, sich in groen Tabellen zurechtzufinden. Heben Sie deshalb wichtige Bereiche hervor.

1 1 1
die Zelle A1 und whlen Sie in 1 Markieren Sieunddie gewnschte Schriftart, der Symbolleiste den Schriftgrad Schriftschnitt aus: Wir haben Arial, 12 und Fett gewhlt.

2 3 2

Klicken Sie auf den Spaltenkopf 3 um die Spalte zu markieren. A,

4 4 4

2 2
CHIP | OFFICE KOMPAKT

Markieren Sie die Zelle, 2 in der Einnahmen steht. Halten Sie die Taste Strg gedrckt und klicken Sie nacheinander die Zellen mit den Bezeichnungen Gesamteinnahmen, Ausgaben, Gesamtausgaben sowie Saldo an. Formatieren Sie diese Zellen ebenfalls Fett.

Men 4 Whlen Sie imEintrag Spalte Format den und im aufklappenden Untermen den Befehl Optimale Breite bestimmen. Excel passt nun die Breite der Spalte dem lngsten Eintrag in der Spalte an.

137

6 5
Mit einem 5 Sie die ZeileKlick auf den Zeilenkopf 3 markieren mit den Monatsnamen.

6 Formatieren Sie die Zellen Fett und Zentriert.


8

Sie die Zeilen mit den Gesamt7 Markierendie und den Gesamtausgaben einnahmen per Klick auf Zeilenkpfe, hier: 10 und 28.

Whlen 8 freine Sie diese Zeilen Fllfarbe aus. Hier: Hellgelb.

TIPP
Fhren Sie den Mauszeiger im Spaltenkopfbereich auf die Trennlinie rechts von der Spalte, die Sie verbreitern mchten, im Beispiel die Linie zwischen A und B. Sobald der Mauszeiger die Form eines horizontalen Doppelpfeils annimmt

7 9
Wiederholen Sie die Teilschritte 7 9 als FllfarbeZeile Saldo. Whlen und 8 fr die Sie diesmal Gold.

, doppelklicken Sie. Dadurch verbreitert Excel die Spalte A so, dass der lngste Eintrag darin Platz findet.

CHIP | OFFICE KOMPAKT

138

VERSIONEN

PROGRAMMIERUNG LSUNGEN Haushaltsplan fhren TIPPS & TRICKS

SCHRITT

Einnahmen und Ausgaben im Januar erfassen


Die Tabelle ist nun so weit vorbereitet, dass Sie die ersten Einnahmen und Ausgaben fr den Monat Januar festhalten knnen. Als Gedankensttze bieten sich die Kontoauszge des laufenden Monats an.

1 2

TIPP

Geben Sie die jeweiligen Betrge Ihrer Einnahmen ein. In die Zellen, in denen im Januar kein Wert steht, geben Sie die Ziffer 0 ein.

Schreiben Sie Ihre 2 Ausgabenentsprefr den Januar in die chenden Zellen.

Bestimmte Betrge, wie zum Beispiel die Miete, bleiben ber das Jahr hinweg gleich. Hier bietet es sich an, die Daten schon zu Beginn mit der Funktion Auto-Ausfllen fr alle Monate einzufgen. Geben Sie dazu den entsprechenden Betrag ein, hier: 850 in die Zelle B13. Kopieren Sie den Wert durch Ziehen des Ausfllkstchens bis in die Zelle M13.

SCHRITT

Formeln fr Berechnungen anlegen

Damit Excel automatisch den aktuellen Kontostand berechnet, mssen Sie zunchst die ntigen Formeln eingeben: Sie addieren mit ihnen alle Einnahmen und alle Ausgaben. Fr den Saldo ziehen Sie die beiden Summen voneinander ab.
Sie die Zelle 1 Klickendievom Januaran, in der Gesamteinnahmen ausgegeben werden, im Beispiel Zelle B10. Klicken Sie auf das Sym2 bol97AutoSumme. Bei Excel heit es Summe. Besttigen Sie die 3 mel durch DrckenForder Eingabetaste. Die Summe wird sofort angezeigt (siehe nebenstehende Abbildung). Excel umgibt automatisch den Zellbereich oberhalb der markierten Zelle mit einem pulsierenden Rahmen und zeigt die Formel in der Bearbeitungsleiste an. Die in die Summenformel miteingeschlossene Leerzelle B9 spielt dabei keine Rolle.

1 3

CHIP | OFFICE KOMPAKT

139

Sie 4 WiederholenB28. die Teilschritte 1 bis 3 fr die Gesamtausgaben, hier in der Zelle Klicken Sie auf die Zelle 5 Saldobestand fr Januar,mit dem hier die Zelle B30. Tippen Sie ein Gleichheitszeichen = ein, um eine Formel zu beginnen. Sie die Zelle mit den 6 Klickenim Beispiel Zelle B10. Gesamteinnahmen des Monats Januar an, Excel bernimmt damit die Zellbezeichnung in die Formel.

zeigt Zelle B30 nun 7 Excelan. indie Subtraktion ein. =B10 Geben Sie ein Minuszeichen fr bernehmen Zellbe8 zeichnung derSie diemit den Zelle Gesamtausgaben des Januar per Klick in die Formel, im Beispiel B28. Drcken Sie die Eingabetaste.

TIPP
Sollten Sie eine Einnahme- oder Ausgabequelle vergessen haben oder im Laufe des Jahres neue hinzukommen, fgen Sie dafr einfach eine neue Zeile in die Tabelle ein. Dazu klicken Sie auf die Nummer der Zeile, vor der Sie die neue Zeile einfgen mchten; ausgenommen davon ist die jeweils erste Zeile eines Summenbereichs. Whlen Sie im Men Einfgen den Befehl Zeilen. Excel fgt oberhalb der markierten Zeile eine Leerzeile ein und passt automatisch die Zellbezeichnungen in den Formeln an.

8 8

4 5
In Zelle B30 sehen Sie nun den Saldobetrag des Januar.

CHIP | OFFICE KOMPAKT

140

VERSIONEN

PROGRAMMIERUNG LSUNGEN Haushaltsplan fhren TIPPS & TRICKS

SCHRITT

Formeln fr die Folgemonate bernehmen

Im Haushaltsplan fehlen nur noch die Werte fr Februar bis Dezember. Zunchst bernehmen Sie mit einer Formel den Saldobetrag von Januar als bertrag in den Februar. Danach kopieren Sie alle Formeln weiter bis zum Dezember.

1 2
Sie in der Spalte C die Zelle fr 1 KlickenGeben Sie ein Gleichheitszeichen den bertrag des Vormonats an, im Beispiel C5. und die Zellbezeichnung des Saldobetrags vom Januar ein: hier =B30.

Drcken Sie die Eingabetaste. Excel zeigt 2 IhnenJanuar aus Zelle Saldobetrag des daraufhin den Monats B30 an. Um die Formel fr die Folgemonate zu 3 bernehmen,auf das AusfllkstchenC5. markieren Sie die Zelle Dann klicken Sie in der rechten unteren Ecke des Zellmarkierers und halten die Maustaste gedrckt. Ziehen Sie das Ausfllkstchen mit gedrckter Maustaste bis zur Zelle M5. Excel kopiert die Formel weiter und passt dabei die Zellkoordinaten an.

Wiederholen Sie die Teilschritte und 4 5 mit den Berechnungsformeln fr3die Gesamteinnahmen, Gesamtausgaben sowie

5 5

den Saldo. Im Beispiel handelt es sich um die Zellen B10, B28 und B30.

Fllen mit den Betrgen fr 6 MonateSie die Tabelle die Februar bis
CHIP | OFFICE KOMPAKT

Dezember aus, soweit Ihnen bekannt.

141

SCHRITT

Den Kontostand farbig hervorheben

Bewegt sich Ihr Konto im Plusbereich, ist alles in Ordnung. Rutscht es jedoch ins Minus, dann ist erst einmal Sparen angesagt. In Excel knnen Sie Negativwerte automatisch in Rot darstellen lassen, whrend positive Zahlen schwarz angezeigt werden. Dazu verwenden Sie eine Funktion namens bedingte Formatierung.

1 Markieren Sie mit gedrckter Maustaste den gesamten


Tabellenbereich, in dem Betrge stehen, hier von B5 bis M30. Whlen Sie im 2 Men Format den Befehl Zellen. Ein Dialog ffnet sich.

3 3 4 5

Whlen Sie im Register Zahlen 3 die Kategorie Whrung. 2000 knnen Sie im 4 In Excel Excel 97 esEurozeichen Feld Symbol das whlen. Da noch nicht anbietet, mssen Sie stattdessen den Eintrag Keine whlen. Whlen im 5 Zahlen Sie roteFeld Negativebei die gewnschte Darstellung aus, hier: Darstellung negativem Vorzeichen. Besttigen Sie Ihre Auswahl mit OK.

Sollte Ihr Kontostand ins Minus rutschen, zeigt Excel Ihnen das nun deutlich mit roten Zahlen an.

142

Die besten Excel-Kniffe

Tipps
Zur rechten Zeit der richtige Trick, der Ihnen das fehlende Quentchen Know-how liefert. Vielleicht erspart Ihnen einer unserer Praxistipps stundenlanges Tfteln und fhrt Sie auf dem schnellsten Weg zum Ergebnis.

ALLE TIPPS AUF EINEN BLICK

1 Nur positive Werte anzeigen 2 Werte ausblenden 3 Nullwerte ignorieren 4 Anagramme erzeugen 5 Standardformatierung in Euro 6 Optimale Spaltenbreite 7 Werte hervorheben 8 Wahrscheinlichkeitsrechnung Lotto 9 Whrungsrechnungen 10 Bessere Lesbarkeit von Tabellen 11 Farbe von Zellen ndern 12 Schnellere Makros erstellen 13 Letztes Sicherungsdatum in Kopfzeile 14 Bildschirmdarstellung unterbinden 15 Zahlen schnell addieren 16 Alter berechnen
CHIP | OFFICE KOMPAKT

s144 s144 s144 s145 s147 s148 s148 s148 s149 s150 s151 s151 s152 s153 s153 s153

17 Werte oder Formeln einblenden 18 Einfache Blockdiagramme 19 Identisch aufgebaute Tabellen addieren 20 Einfaches Kassenbuch 21 Einzelne Zellen schtzen 22 Schneller auf offene Tabellen zugreifen 23 Tabellenhintergrund mit ausdrucken 24 Bedingte Formate bertragen 25 Rechengenauigkeit gezielt anwenden 26 Fhrende Nullen bei Postleitzahlen 27 Verknpfte Zellen ohne Umweg 28 In Pivot-Tabelle richtig formatieren 29 Mehr bersicht durch Teilergebnisse 30 Nur sichtbare Zellen kopieren 31 Komplexe Auswertung mit Pivot-Tabelle 32 Arabische Ziffern in rmische wandeln

s154 s154 s155 s156 s157 s158 s159 s159 s160 s162 s163 s164 s165 s166 s168
Illustration: E. Schenk-Panic

s161

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS Index

143

& Tricks
A
uf den folgenden Seiten finden Sie eine umfangreiche Sammlung diverser Tipps & Tricks zu allen ExcelVersionen. Die Palette reicht vom kleinen Gewusst-wo-Mausklick bis hin zu kompletten Makros, die die eine oder andere Funktion ergnzen, die Sie in Excel schon lange vermisst haben.
33 Monatsersten oder -letzten ermitteln 34 Lottogewinne schneller erkennen 35 Vorhandene Diagramme duplizieren 36 Eingefgte Hyperlinks korrigieren 37 Arbeitsmappe nach Wert durchsuchen 38 Datenexport mit | als Trennzeichen 39 Aktuelle Datei zu Favoriten hinzufgen 40 Texte in Zellen gezielt vervollstndigen 42 Webseiten in Excel XP einbinden 43 Grundrechenarten mehrfach anwenden 44 Nur Werte aus Zellen kopieren 45 Tabellen in Word bernehmen 47 Optionale Parameter richtig einsetzen 48 Tabellenbltter unsichtbar machen s169 s170 s171 s172 s173 s174 s175 s175 s177 s177 s177 s178 s178 s179

fr Excel-Profis
Auch wenn Sie gerade kein bestimmtes Problem mit Excel haben, kann sich das Stbern in den 61 Tipps lohnen. Vielleicht finden Sie ja die eine oder andere Anregung fr eine effizientere Arbeitsweise oder gar eine vllig neue Anwendung fr die Tabellenkalkulation. Eine komplette bersicht ber alle Tipps finden Sie unten.

49 VBA-Projekte mit Passwort schtzen 51 Kennwort von Arbeitsmappe knacken 52 Kalenderwoche nach DIN berechnen 53 Erster Tag einer DIN-Kalenderwoche 54 Passwort von VBA-Projekten knacken 55 Schaltflche ins Tabellenblatt einbauen 57 Alle Zellen eines Bereichs durchlaufen

s180 s182 s182 s183 s183 s184 s188

50 Automatisch die optimale Vergrerung s181

56 Blattschutz-Passwort per Makro knacken s187 58 Spezielle Zellen zur Bearbeitung freigeben s189 59 Laufende Nummer automatisch erzeugen s193 60 Laufende Uhrzeit in der Statusleiste 61 Zellinhalt als Kommentar drucken s192 s194

41 XP: Standardauswertungen ohne Formel s176

46 Alle Arbeitsmappen gleichzeitig schlieen s178

CHIP | OFFICE KOMPAKT

144

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

| Bedingte Formatierung
Nur positive Werte anzeigen

| Werte ausblenden
Einen bestimmten Wertebereich anzeigen

Wollen Sie einen Zellbereich innerhalb einer Excel-Tabelle so formatieren, dass ausschlielich Werte grer als null angezeigt werden, gehen Sie wie folgt vor: Markieren Sie mit der Maus den gewnschten Zellbereich. Whlen Sie im Men Format den 2 Menpunkt Zellen. Wechseln Sie im folgenden Fenster zur 3 Kategorie Benutzerdefiniert. Dort geben Sie im Textfeld auf der rechten Seite den Ausdruck [>0]Standard ein und besttigen abschlieend den neuen Typ mit einem Klick auf OK. Aufgrund dieser bedingten Formatierung werden alle Werte grer als null sofort in der voreingestellten Standardformatierung angezeigt. Alle Werte, die nicht in der Kategorie Benutzerdefiniert beschrieben sind, werden ausgeblendet.

Sollen innerhalb eines bestimmten Bereichs einer Excel-Tabelle nur Zahlen von 1 bis 100 angezeigt werden, sollten Sie folgenden Trick anwenden: Formatieren Sie alle Werte, die kleiner als 1 und grer als 100 sind, so, dass statt dessen ein Leerzeichen angezeigt wird den Rest der Tabelle belassen Sie in der Standardformatierung. Markieren Sie zunchst mit der Maus den Zellbereich, der die zu formatierenden Werte enthlt. Die markierten Zellen werden farbig hinterlegt dargestellt. Whlen Sie im Men Format den 2 Menpunkt Zellen. Wechseln Sie im folgenden Fenster zur 3 Kategorie Benutzerdefiniert. Dort geben Sie im Textfeld auf der rechten Seite den Ausdruck [<1];[>100]; Standard ein. Besttigen Sie Ihre Eingabe mit einem Klick auf OK. Hinweis: Die von Ihnen ausgewhlten Zellinhalte sind damit nicht gelscht, sondern werden lediglich ausgeblendet. Wenn sich Formeln auf diese Bereiche beziehen, wird zur Berechnung weiterhin der Inhalt auch der ausgeblendeten Zellen verwendet.

| Nullwerte ignorieren
Mittelwert ohne Null berechnen

Und tschss: Mit der bedingten Formatierung blenden Sie negative Werte aus.

Wenn Sie in Excel die Funktion Mittelwert verwenden, werden von ihr auch Zellen bercksichtig, die den Wert 0 enthalten. Wollen Sie diese bei der Berechnung

CHIP | OFFICE KOMPAKT

145

Verschwunden, nicht gelscht: Mit Hilfe einer geeigneten Matrixfunktion lassen sich bestimmte Zellen eines Bereichs bei den Standardfunktionen ausblenden.

ignorieren, mssen Sie eine Matrixfunktion (siehe Kasten s146) verwenden. Tragen Sie im Zellbereich von A1 bis A10 beliebige Zahlenwerte inklusive der Zahl 0 ein. Geben Sie in die Zelle A11 die 2 Formel =Mittelwert (A1:A10) ein. Tragen Sie in die Zelle A12 die 3 Formel =Mittelwert (Wenn (A1:A10; A1:A10)) ein. Drcken Sie zum Beenden der Formeleingabe nicht die Eingabetaste, sondern die Tastenkombination Umschalt +Strg+Eingabe. Auf diese Weise wird die soeben eingegebene Formel in eine Matrixformel umgewandelt. Excel zeigt dies an, indem es die Formel in eine geschweifte Klammer setzt.

| Buchstabenspielerei
Anagramme automatisch erzeugen

Ein Anagramm eines Wortes oder Namens besteht aus denselben Buchstaben, die nur anders angeordnet sind. So ist Lupa ein Anagramm von Paul und Artazipi eines von Patrizia. Anagramme wurden frher gerne als Pseudonym verwendet. Allerdings ist es nicht ganz einfach, alle mglichen Varianten eines Namens zu ermitteln. Mit dem Makro ANA knnen Sie Excel beauftragen, alle Kombinationen zu finden.

Wechseln Sie mit Alt+F11 zur VBA-Entwicklungsumgebung. Dort k


CHIP | OFFICE KOMPAKT

146

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

Buchstabensalat: Das Makro ANA erzeugt alle mglichen Buchstabenkombinationen eines Namens oder eines Begriffs und listet sie in einer Spalte untereinander auf.

ffnen Sie ein Modul des Arbeitsblatts und geben das folgende Makro ein:
Sub Ana(Zeile,Spalte,txt1,txt2)

j = Len(txt2) If j < 2 Then If Zeile = 65537 Then t Exit Sub Cells(Zeile, Spalte) t = txt1 & txt2 Zeile = Zeile + 1 Else For i = 1 To j Ana Zeile, Spalte, t Left(txt2, i - 1) + t Right(txt2, j - i) Next End If End Sub

KNOW-HOW Matrixfunktion
Eine Matrix ist eine Tabelle mit Werten, die mindestens aus zwei Zeilen und mindestens aus zwei Spalten besteht. Die Matrixfunktion ist eine Formel, die sich nicht auf konkrete Einzelzellen, sondern auf den ausgewhlten Datenbereich bezieht. Auf diese Weise kann eine normale Funktion, wie zum Beispiel Mittelwert oder Summe, dazu genutzt werden, nicht stur den gesamten angegebenen Bereich in die Berechnung einzubeziehen, sondern um beispielsweise Nullwerte zu ignorieren. Bei einer Matrixfunktion beenden Sie die Eingabe mit Umschalt+Strg+Eingabe.

Geben Sie ein zweites Makro ein, das einerseits Ana aufruft und andererseits festlegt, dass der Name in A1 steht und dass die Anagramme ab der zweiten Zeile der ersten Spalte aufgelistet werden sollen:

CHIP | OFFICE KOMPAKT

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

147

Sub AnaStart() Name = Cells(1, 1) Ana 2, 1, "" , Name End Sub

Wechseln Sie zu Ihrem Excel-Arbeitsblatt, geben Sie in Zelle A1 den Namen KARL ein. Starten Sie ber das Men Extras und den Eintrag Makro, Makros k

WINDOWS POWERTIPP

Standardformatierung
Die Excel-Funktion DM wandelt einen beliebigen Zahlenwert in die voreingestellte Formatierung um. Dabei wird einerseits das Whrungssymbol verwendet und andererseits der Wert korrekt gerundet. Standardmig verwenden alle Windows-Versionen vor Windows XP DM als deutsche Whrung. Somit liefert auch die Funktion DM als Ergebnis eine Formatierung mit der Whrungsbezeichnung DM. Die Formel =DM(123,456) zeigt also in der Zelle 123,46 DM an.

in Euro

Wollen Sie die heute gltige Whrung Euro verwenden, gehen Sie folgendermaen vor: Whlen Sie im Men 1 Start den Eintrag Einstellungen, Systemsteuerung. ffnen Sie in der System2 steuerung mit einem Doppelklick der Maus auf das zugeVorgabe: Die Einstellung des Whrungssymbols in der hrige Symbol den Dialog LnSystemsteuerung hat auch Auswirkung auf die Formadereinstellungen. tierung in Excel, da Excel fr Berechnungen mit der Wechseln Sie zur Register3 karte Whrung und wh- DM-Funktion die Lndereinstellungen heranzieht. len Sie als Whrungssymbol das Zeichen . Abschlieend besttigen Sie anschlieend Excel. Geben Sie im ArbeitsIhre Einstellungen mit einem Klick auf OK. blatt erneut die Formel =DM(123,456) in Die brigen Einstellungen knnen Sie bei einer Zelle ein. Statt 123,46 DM wird nun den Standardwerten belassen. Starten Sie 123,46 angezeigt.

CHIP | OFFICE KOMPAKT

148

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

das Makro AnaStart per Doppelklick. Nun werden in der Spalte A alle mglichen Varianten des Namens Karl angezeigt. Sogar bei diesem kurzen Namen ist das bereits eine erstaunliche Anzahl. Testen Sie das Makro doch gleich einmal mit Ihrem eigenen Namen oder dem Ihres Partners, vielleicht finden Sie ja einen lustigen Spitznamen. Oder Sie erstellen aus den Anagrammen Rtsel fr die ganze Familie.

Doppelklick aus. Dadurch werden alle Spalten entsprechend ihrem Inhalt verbreitert.

| Werte hervorheben
Negative und positive Werte einfrben

| Vollstndige Anzeige
Optimale Spaltenbreite einstellen

Sollen negative Zahlen in Rot, positive Zahlen in Blau angezeigt und Nullwerte generell ausgeblendet werden, dann geben Sie bei der bedingten Formatierung die gewnschten Farben einfach mit an. Markieren Sie mit der Maus den entsprechenden Zellbereich. Whlen Sie im Men Format den 2 Menpunkt Zellen. Wechseln Sie zur Kategorie Benutzer3 definiert. Dort geben Sie im Textfeld auf der rechten Seite den Ausdruck [Rot][<0]-0,0;[Blau][>0]0,0; ein und besttigen Ihre Auswahl mit OK. In diesem Beispiel werden alle Werte mit einer Nachkommastelle dargestellt.

Wenn Sie Spalten so verbreitern wollen, dass der komplette Inhalt aller Zellen darin Platz findet, gehen Sie so vor: Zum Markieren der Spalten klicken Sie auf einen Spaltenkopf. Halten Sie die Maustaste gedrckt und verschieben Sie die Maus nach rechts oder links. Verschieben Sie nun den Mauszeiger 2 in der Titelzeile mit den Buchstaben zwischen zwei der markierten Spalten. Sobald sich der Mauszeiger verndert und als Doppelpfeil erscheint, fhren Sie einen

| Wahrscheinlichkeitsrechnung
Wahrscheinlichkeit beim Lottospielen

KNOW-HOW Makro
In einem Makro werden Befehlsfolgen gespeichert, die nacheinander automatisch ausgefhrt werden sollen. Nach der Aufzeichnung eines Makros mssen Sie es nur starten, und schon werden alle Arbeitsschritte durchgefhrt. In Excel gibt es bereits viele fertige Makros, aber Sie knnen im VBAEditor jederzeit eigene Makros erzeugen.

Dass die Wahrscheinlichkeit, beim Lotto sechs Richtige zu haben, zirka eins zu 14 Millionen betrgt, hat sich mittlerweile herumgesprochen. Wie gro ist aber die Wahrscheinlichkeit, drei, vier oder fnf Richtige zu haben? Dies berechnet fr Sie die Excel-Funktion Kombinationen. Tragen Sie in einem neuen Arbeitsblatt in Zelle A1 die Anzahl der richtig getippten Lottozahlen ein, deren Wahr-

CHIP | OFFICE KOMPAKT

149

Fr Glcksspieler: Mit der fr statistische Berechnungen sehr wichtigen Funktion Kombinationen knnen Sie die Wahrscheinlichkeiten beim Lotto berechnen.

scheinlichkeit Sie mit Excel berechnen mchten. Wenn Sie zum Beispiel den Wert 3 eingeben, wird mit der Statistikformel von Excel die Wahrscheinlichkeit fr drei Richtige ermittelt. Tragen Sie in der Zelle B1 die Formel 2 =KOMBINATIONEN(49;A1) ein. Diese Formel gibt als Ergebnis die Wahrscheinlichkeit an, mit der beim Lotto Kombinationen aus drei Zahlen aus 49 Zahlen gezogen werden. Nun sind aber bei sechs Zahlen, die 3 Sie beim Lotto tippen knnen, mehrere unterschiedliche Dreierkombinationen mglich. Um zu ermitteln, wie viele Dreierkombinationen bei einer Ziehung tatschlich entstehen knnen, geben Sie in die Zelle C1 die Formel =KOMBINATIONEN (6;A1) ein. Auf diese Weise erfahren Sie, dass es bei sechs Zahlen insgesamt 20 Dreierkombinationen gibt. Um zu ermitteln, wie hoch die Wahr4 scheinlichkeit ist, mit irgendeiner dieser drei Kombinationen beim Lotto zu

gewinnen, mssen Sie die beiden zuletzt ermittelten Ergebnisse durch einander teilen. Tragen Sie also in der Zelle D1 die einfache Formel =B1/C1 ein. Nach dem Drcken der Eingabe-Taste erhalten Sie das Ergebnis, dass die Wahrscheinlichkeit, drei Richtige zu tippen, bei 1 zu 921 liegt schon zu einem Dreier im Lotto gehrt also eine Portion Glck.

| Whrungsrechnungen
Euro und alte Whrung umrechnen

Wer nach Italien, Spanien oder Frankreich fhrt, zahlt heute nur noch mit Euro. Doch obwohl seit Einfhrung des Euro schon geraume Zeit vergangen ist, tun sich die meisten Menschen noch schwer mit Preisvergleichen: Kostet zum Beispiel der Cappuccino in Italien heute mehr als vor der Euro-Einfhrung, oder war vielleicht das Baguette in Frankreich frher auch billiger? So mancher Urlauber wnscht sich k
CHIP | OFFICE KOMPAKT

150

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

vielleicht eine Funktion, mit der er solche Preisvergleiche leicht erledigen und sich vielleicht sogar die Preise in Deutscher Mark anzeigen lassen kann. Die VBAFunktion Euro machts mglich:
Function Euro(Betrag, Waehrung) EU = 1 Select Case UCase(Waehrung) Case "BEF" EU = 40.3399 ' Belgien Case "DEM" EU = 1.95583 ' Deutschland Case "FIM" EU = 5.94573 ' Finnland Case "FRF" EU = 6.55957 ' Frankreich Case "IEP" EU = 0.787564 ' Irland Case "ITL" EU = 1936.27 ' Italien Case "LUF" EU = 40.3399 ' Luxemburg Case "NLG" EU = 2.20371 ' Niederlande Case "ATS" EU = 13.7603 ' sterreich Case "PTE" EU = 200.482 ' Portugal Case "ESP" EU = 166.386 ' Spanien End Select Euro = Betrag / EU End Function

10

| Bessere Lesbarkeit
Zeilen einer Tabelle abwechselnd einfrben

Tabellen lassen sich besser lesen, wenn die Zeilen mit einem wechselnden Hintergrund versehen sind, beispielsweise Hellgelb und Wei. Doch dieses Einfrben von Hand durchzufhren ist beraus mhsam. Praktischer ist ein Makro, das Ihnen diese lstige und Zeit raubende Arbeit abnimmt. Dazu geben Sie das folgende Makro ein:
Sub Zeilenfarbig() If Selection.Rows.Count = t 65536 Then Exit Sub If Selection.Columns.Count t = 256 Then Exit Sub Zeile = Selection.Row Spalte = Selection.Column Y = Selection.Columns.Count - 1 For X = 0 To t Selection.Rows.Count - 1 With Range(Cells(Zeile + t X, Spalte), t Cells(Zeile + X, t Spalte + Y)) If X Mod 2 = 0 Then .Interior.ColorIndex = 19 Else .Interior.ColorIndex = t xlNone End If .Interior.Pattern = t xlSolid .Borders.Weight = xlThin End With Next End Sub

Um nun 123 Peseten in Euro umzurechnen, lautet die Formel =Euro(123;ESP). Wollen Sie ermitteln, wie vielen Peseten 12,30 Euro entsprochen haben, so lautet die Formel: =12,3/Euro(1;ESP).
CHIP | OFFICE KOMPAKT

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

151

11

| Farbe von Zellen ndern


Alle Arbeitsbltter mit schwarzer Schrift

Innerhalb Ihrer Makros knnen Sie aber mit einer einfachen Zuweisung diesen Automatismus unterbinden. Wenn Sie die Zeile
Application.Calculation = t xlCalculationManual

Wenn man eine Arbeitsmappe entwickelt, werden immer wieder einzelne Zellen mit einer Farbe hervorgehoben, um sie besser berblicken zu knnen. Der Nachteil: Nach getaner Arbeit muss man alle Tabellen umfrben. Das Makro AllesSchwarz erledigt das schneller und vor allem automatisch.
Sub AllesSchwarz() For K = 1 To ActiveWorkbook. t Worksheets.Count Set WS = ActiveWorkbook. Worksheets(K) WS.Activate Cells.Select Selection.Font.ColorIndex = 0 Next End Sub

am Anfang des betreffenden Makros einfgen, lsen nderungen der Zellen keine Neuberechnung mehr aus, vielmehr wird auf manuelles Neuberechnen umgeschaltet. Auf diese Weise erhhen Sie die Geschwindigkeit der Verarbeitungsmakros beachtlich. Vergessen Sie dabei nicht, am Ende des Makros den Berechnungsmodus wieder auf die automatische Neuberechnung umzuschalten. So sieht der zugehrige VBA-Befehl aus:
Application.Calculation = t xlCalculationAutomatic

12

| Mehr Tempo
Schnellere Makros erzeugen

Berechnen Sie anschlieend bei Bedarf sozusagen per Hand mit dem Befehl
Calculate

das Arbeitsblatt erneut.

KNOW-HOW Englische Namen


Bauen Sie in Ihre Makros bereits vorhandene Funktionen ein, bentigen Sie die englische Bezeichnung. Rufen Sie in der VBA-Umgebung ber die Taste F1 die Hilfe auf. Geben Sie im Register Antwort-Assistent den Suchtext Liste der verfgbaren Tabellenfunktionen ein und klicken Sie auf Suchen. Unter dem ersten Ergebnis finden Sie eine Liste aller Funktionen mit den englischen Bezeichnungen.

Makros, die umfangreiche Verarbeitungen vornehmen und sich auf groe Zellbereiche beziehen, brauchen oft sehr viel Zeit fr die Ausfhrung. Teilweise ist daran die grundstzlich aktivierte automatische Neuberechnung von Excel schuld: Wenn der Wert einer Zelle gendert wird und sich dadurch das Ergebnis von anderen Formeln innerhalb des selben Arbeitsblatts verndert, wird stets standardmig eine komplette Neuberechnung durchgefhrt.

CHIP | OFFICE KOMPAKT

152

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

13 | EXCEL-POWERTIPP

Letztes Sicherungsdatum in der Kopfzeile


Eine sehr ntzliche Information fr Tabellenbltter ist in vielen Fllen, wann die Arbeitsmappe zum letzten Mal gendert wurde. Mit Hilfe der Format-Codes fr Kopf- und Fuzeilen lsst sich lediglich das aktuelle Datum angeben. Mit Hilfe des automatischen Makros fr das Ereignis BeforeSave (deutsch: vor dem Speichern) lsst sich dieses Manko jedoch leicht ausgleichen. Wechseln Sie in der entsprechenden Arbeitsmappe mit Alt+F11 in die VBA-Entwicklungsumgebung und klicken Sie in der Projektbersicht mit der Maus doppelt auf den Eintrag DieseArbeitsmappe. Whlen Sie im folgenden Dialog aus 2 dem linken Listenfeld ber dem Editor den Eintrag Workbook und dann rechts den Eintrag BeforeSave. VBA erzeugt selbstndig den Rahmen fr dieses Makro, das automatisch ausgefhrt wird, bevor die Datei tatschlich auf der Festplatte gespeichert wird. Tragen Sie als Code zu diesem Ereignis 4 folgende Zeile ein:

ActiveSheet.PageSetup.Right t Header = "Letztes Speicherdatum" t & Format(Date, "Long Date") & t Format(Time, "Long Time")

Mit diesem Makro wird als rechte Kopfzeile (RightHeader) beim Ausdruck immer die aktuelle Zeit vermerkt. Alternativ knnen Sie sich natrlich diese Informationen auch links oben (LeftHeader), oben zentriert (CenterHeader) oder entsprechend in der Fuzeile rechts (RightFooter), links (LeftFooter) oder mittig (CenterFooter) anzeigen lassen.

Immer auf dem neuesten Stand: Mit Hilfe des automatischen Makros BeforeSave wird das letzte Speicherdatum in der Kopfzeile der Arbeitsmappe festgehalten. t bedeutet: Diese Zeile und die Folgezeile mssen in einer Zeile eingegeben werden.

CHIP | OFFICE KOMPAKT

153

14

| Bildschirmdarstellung unterbinden
Makros noch schneller ausfhren lassen

Mit einer VBA-Schleife lautet der Code:


summe = 0 For I = 1 To 100 summe = summe + Cells(I, 1) Next

Ein zweiter Ansatzpunkt, die Ausfhrung von Makros noch schneller zu machen, besteht darin, die Anzeige am Bildschirm fr die Dauer des Makros zu unterbinden. Sonst zeigt Excel alle nderungen, die das Makro vornimmt, sofort am Bildschirm an. Schalten Sie jedoch mit
Application.ScreenUpdating t = FALSE

Wenn Sie statt dessen die Summenfunktion von Excel verwenden, sieht der Code aus wie folgt:
Summe = t WorksheetFunction. t Sum(Range(A1:A100))

am Anfang des Makros das automatische Auffrischen der Anzeige aus, knnen Sie die Geschwindigkeit Ihres Makros um ein Vielfaches steigern. Auch hier gilt wieder, dass Sie am Ende der Verarbeitung die Anzeige erneut aktivieren mssen:
Application.ScreenUpdating t = TRUE

Diese Funktion fhrt Sie nicht nur schneller zum Ergebnis, sondern lsst sich auch leichter und schneller programmieren. Denken Sie daran, dass Sie die englischen Namen (siehe Kasten s151) verwenden. Mit den deutschen Namen funktioniert der Code nicht, denn Visual Basic fr Applikationen ist auf Englisch ausgelegt.

15

| Zahlen schnell addieren


Eingebaute Funktionen sind schneller

16

| Alter berechnen
Noch schnellere Makros schreiben

Wollen Sie beispielsweise einen Zellbereich innerhalb eines Makros addieren, bieten sich Ihnen zwei Mglichkeiten: Sie knnen die Rechnung entweder mit einer VisualBasic-Schleife durchfhren oder die internen Summenfunktionen verwenden. Wir empfehlen Ihnen, auf die Summenfunktionen zurckzugreifen, die Sie auch in Formeln innerhalb eines Arbeitsblatts verwenden, da diese um ein Vielfaches schneller sind als VBA-Schleifen. Dies belegt das folgende Beispiel, das die Summe der Zellen von A1 bis A100 errechnet.

Excel bietet keine Standardfunktion, mit der man anhand des Geburtsdatums das Alter zu einem beliebigen Zeitpunkt berechnen kann. Doch gerade fr demographische Auswertungen wre diese Information sehr wichtig. Das Subtrahieren der Jahreszahlen funktioniert natrlich nicht, da auch Monat und Tag bei der Berechnung eine Rolle spielen. Dies bercksichtigt die folgende benutzerdefinierte Funktion:
Function Alter(Geburt, Heute) Jahre = Year(Heute) - t Year(Geburt)
CHIP | OFFICE KOMPAKT

154

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

If Heute < t DateSerial(Year(Heute) t , Month(Geburt) t , Day(Geburt)) Then Jahre = Jahre - 1 End If Alter = Jahre End Function

kein ausgefeiltes Diagramm anlegen. Verwenden Sie doch die grafischen Zeichen der Schrift Wingdings. Sehr flexibel ist die folgende Funktion, die Sie im VBA-Editor in einem neuen Modul eingeben:
Function BlockGrafik(Wert, t Optional Min = 0, t Optional Max = 100, t Optional MaxAnzahl = 30, t Optional Zeichen = "n") If Wert < Min Then BlockGrafik = "" Else anzahl = (Wert - Min) / t (Max - Min) * MaxAnzahl BlockGrafik = t String(anzahl, Zeichen) End If End Function

Haben Sie beispielsweise in Zelle B1 das Geburts- und in B2 das aktuelle Datum eingetragen, so ermitteln Sie mit der Formel =Alter(B1;B2) das tatschliche Alter.

17

| Werte oder Formeln einblenden


Formeln dauerhaft anzeigen

Gelegentlich ist es praktisch, die Formeln der einzelnen Zellen nicht nur zu sehen, wenn die Zelle markiert ist. Mit wenigen Mausklicks sehen Sie statt der Ergebnisse die Formeln in den Zellen. Wechseln Sie zum Tabellenblatt, in dem die Formel statt der Ergebnisse angezeigt werden soll. Klicken Sie im Men Extras auf den 2 Punkt Optionen. Auf der Registerkarte Ansicht mar3 kieren Sie im Abschnitt Fensteroptionen das Kontrollkstchen Formeln und besttigen mit OK (siehe Bild rechts).

18

| Einfache Blockdiagramme
Balkengrafik ohne schwierige Diagramme

Wenn Sie Zahlenmaterial als Blockdiagramm darstellen wollen, mssen Sie dazu
CHIP | OFFICE KOMPAKT

Damit stellen Sie die Werte dar, indem Sie ein Zeichen aus Wingdings, etwa ein Kstchen, das Sie ber die Taste n erzeugen, entsprechend oft wiederholen. Bei der Funktion BlockGrafik sind bis auf den Wert selbst alle Parameter optional, das heit, dass Sie die Funktion prinzipiell mit =BlockGrafik(56) in ein Tabellenblatt eintragen knnen. Das geht jedoch nur bei Zahlenwerten von 0 bis 100, also beispielsweise bei Prozentzahlen. Haben Sie zum Beispiel in einer Tabelle mit einer bersicht aller Einnahmen in Spalte B Umsatzzahlen eingetragen und wollen rechts daneben in Spalte C die entsprechende Balkengrafik anzeigen, so lautet die Formel in Zelle C3: =BlockGrafik(B3;MIN($B$2:$B$500);MAX($B$2: $B$200);50).

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

155

17

Einblick in Hintergrund-Infos: Mit einer einfachen Einstellung im Optionen-Dialog wird statt der Ergebnisse die zugehrige Formel im Arbeitsblatt dargestellt.

Dabei handelt es sich bei B3 um den Wert, der als Grafik dargestellt werden soll. Der zweite Parameter der Formel MIN ($B$2:$B$500) ermittelt den kleinsten Wert innerhalb der Wertespalte B. Analog dazu liefert der Ausdruck MAX ($B$2: $B$200) als dritten Parameter den maximalen Wert, den die Umstze annehmen. Der vierte Parameter gibt an, wie viele Blcke angezeigt werden sollen, wenn es sich bei dem Wert um den Maximalwert handelt, also sozusagen den maximalen Ausschlag. Wenn Sie wissen, dass die Werte nur von 30 bis 200 gehen, reicht zur Darstellung jedoch die vereinfachte Formel =BlockGrafik (B3;30;200;50) aus. Hinweis: Sie mssen die Zellen, in denen Sie die Funktion BlockGrafik verwenden, mit der Schriftart Wingdings forma-

tieren, um die kleinen Blcke am Bildschirm anzeigen zu knnen.

19

| Excel 97, 2000, XP

Identisch aufgebaute Tabellen wiederholt addieren


Sie arbeiten mit zwei gleich aufgebauten Tabellen, von denen eine aktuelle Monatswerte enthlt und die andere jeweils ber das Jahr summierte Werte anzeigen soll. Sie mchten mit einem Makro den Inhalt der Monatstabelle jeweils zum Inhalt der Jahrestabelle addieren. Kopieren Sie die Werte aus der Monatstabelle in die Zwischenablage und fgen Sie danach die Inhalte mit angepassten Optionen in die Gesamttabelle ein. Markieren Sie dazu k
CHIP | OFFICE KOMPAKT

156

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

Selection.PasteSpecial Paste:=xlValues, Operation:=xlAdd,SkipBlanks:= False,Transpose:=False Range(B2).Select Sheets(Monatstabelle).Select Range(B2).Select EndSub

Summenkopie: Inhalte aus der Zwischenablage knnen Sie mit bereits vorhandenen Daten verrechnen.

19

den bentigten Datenbereich in der Monatstabelle und fhren Sie den Befehl Bearbeiten, Kopieren aus. Dann wechseln Sie zur Gesamttabelle und setzen den Cursor in die linke obere Ecke des Datenbereiches. Nun fhren Sie den Befehl Bearbeiten, Inhalte einfgen aus. Im folgenden Dialog whlen Sie im Bereich Einfgen die Option Werte und im Abschnitt Operation die Einstellung Addieren. Nach einem Klick auf OK sehen Sie die gewnschte Summe in der Gesamttabelle. Zur Vermeidung von Fehlern knnen Sie diese Rechnung per Makro vornehmen lassen. Dazu whlen Sie den Befehl Extras, Makro, Makros, geben als Makronamen zum Beispiel Tabellensummierung ein und klicken auf Erstellen. Nun geben Sie im VBA-Editor folgende Anweisungen ein:
SubSummierung() Sheets(Monatstabelle).Select Range(B2:E12).Copy Sheets(Gesamttabelle).Select Range(B2).Select
CHIP | OFFICE KOMPAKT

Beenden Sie die Eingabe mit Datei, Schlieen und zurck zu Microsoft Excel. Das Makro aktiviert nun zuerst die Monatstabelle und kopiert dort einen Bereich, den Sie in Ihrem Makro individuell anpassen mssen (hier: B2:E12). Dann wechselt es zur Gesamttabelle und fgt den Inhalt der Zwischenablage nun mit der Operation Addition ein.

20

| Excel 97, 2000, XP


Einfaches Kassenbuch anlegen

Sie wollen in drei Spalten bersichtlich Einnahmen, Ausgaben und aktuellen Kassenstand erfassen. Dabei soll sich der Kassenstand automatisch aktualisieren, sobald Sie einen neuen Wert eingeben. Tragen Sie in die Zellen A1 bis C1 zuerst als Spaltenkpfe die Bezeichnungen Einnahmen, Ausgaben und Kassenstand ein. Dann geben Sie im Feld C2 den Anfangsbestand oder Null ein. Jetzt setzen Sie den Cursor in Zelle A2 und fhren den Befehl Fenster, Fixieren aus Ihre Spaltenberschriften bleiben nun immer sichtbar. In Zelle C3 editieren Sie die Formel fr die Berechnung =C2+A3-B3. Jetzt mar-

157

kieren Sie in dieser Spalte, beginnend mit C3, nach unten einen Bereich fr die knftigen Kassenstnde. Mit dem Befehl Bearbeiten, Ausfllen, Unten bertragen Sie die Formel in alle markierten Zellen. Ihr Kassenbuch funktioniert bereits. Zunchst sehen Sie allerdings nur eine lange Liste gleicher Bestnde. Mit einem Trick knnen Sie die berflssige Anzeige ausblenden: Tragen Sie unter den letzten Wert in Spalte C als Markierung zum Beispiel das Wort Ende ein. Navigieren Sie wieder zur Zelle C3 und fhren Sie den Befehl Format, Bedingte Formatierung aus. Sie knnen nun solche Zellen unsichtbar machen, deren Wert sich von der vorhergehenden nicht unterscheidet. Dazu whlen Sie als Bedingung 1 die Einstellung Zellwert ist; im nebenstehenden Kombinationsfeld stellen Sie gleich ein. Anschlieend klicken Sie in das rechte Eingabefeld hinter den Vorschlag von Excel. Lschen Sie den Inhalt des Feldes und geben Sie =C2 ein. Klicken Sie nun auf die Schaltflche Format und aktivieren

Sie das Register Schrift. Dort whlen Sie im Kombinationsfeld Farbe die Einstellung Wei und beenden die offenen Dialoge jeweils mit OK. Markieren Sie wieder den Bereich fr die knftigen Kassenstnde in dieser Spalte beginnend mit C3 und bis vor Ihre Markierung fr das Ende. Schlielich bertragen Sie die Formatierung mit dem Befehl Bearbeiten, Ausfllen, Unten in alle markierten Zellen. ! Achtung: Lschen Sie nicht versehentlich eine Formel in der Spalte C das bringt die Summierung durcheinander. Richten Sie deshalb am besten einen Schreibschutz fr diesen Bereich ein.

21

| Excel 97, 2000, XP


Einzelne Zellen einer Tabelle schtzen

Sie mchten in einer Tabelle nur eine einzelne Zelle vor nderungen schtzen, etwa um das Lschen einer wichtigen Formel oder einer Wertkonstante zu verhindern. Excel bietet aber standardmig lediglich die Mglichkeit, gleich das gesamte Arbeitsblatt mit dem Blattschutz zu sperren. Zunchst mssen Sie den Schutz fr alle Zellen aufheben, danach definieren Sie gezielt die einzelnen zu schtzenden Zellen. Gehen Sie dazu folgendermaen vor: Markieren Sie als erstes die gesamte 1 Tabelle, indem Sie links oben auf die Ecke der Beschriftungen klicken. Whlen Sie Format, Zellen und aktivieren Sie das Register Schutz. Darauf deaktivieren Sie das Kontrollkstchen Gesperrt und besttigen abschlieend die Einstellung mit OK. k
CHIP | OFFICE KOMPAKT

Abkassiert: Durch fortlaufende Summierung in einer Liste haben Sie Ihren Kassenbestand stets im Blick.

20

158

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

Freigeben und sperren: Entfernen Sie zunchst den Schutz fr alle Zellen, bevor Sie gezielt einzelne Zellen vor unberechtigtem Zugriff sperren.

21

Markieren Sie dann die zu schtzende Zelle oder den entsprechenden Zellbereich. Fhren Sie erneut den Befehl Format, Zellen aus und aktivieren Sie im Register Schutz wiederum die Option Gesperrt fr diese ausgewhlten Zellen. Danach besttigen Sie mit einem Klick auf OK. Schlielich aktivieren Sie noch die Si3 cherung mit dem Befehl Extras, Schutz, Blatt. Geben Sie im folgenden Dialog ein Passwort ein und whlen Sie OK. Zur Besttigung mssen Sie das soeben vergebene Kennwort nochmals wiederholen. Knftig sind genau die zuvor ausgewhlten Zellen vor nderungen geschtzt.

22

| Excel 2000, XP
Schneller auf geffnete Tabellendokumente zugreifen

Sie arbeiten parallel mit zwei oder mehr gleichzeitig geffneten Arbeitsmappen, etwa um Daten zwischen ihnen zu kopieren. Beim Umschalten ber das Men Fenster verschalten Sie sich gelegentlich. Deshalb suchen Sie eine weniger umstndliche Mglichkeit, zwischen den einzelnen Arbeitsblttern hin- und herzuschalten. Ab der Version 2000 knnen Sie sich in Excel alle offenen Arbeitsmappen getrennt in der Taskleiste anzeigen lassen. Fhren Sie
Schneller Wechsel: Wenn Sie sich Arbeitsmappen getrennt in der Taskleiste zeigen lassen, knnen Sie schneller zwischen den einzelnen Dokumenten umschalten.

22

CHIP | OFFICE KOMPAKT

159

dazu den Befehl Extras, Optionen aus. Dann wechseln Sie zum Register Ansicht und aktivieren dort das Kontrollkstchen Fenster in Taskleiste. Beenden Sie den Dialog mit OK. Knftig sehen Sie jede Arbeitsmappe als separate Anwendung in der Taskleiste (wie bei frheren Windows- und Office-Versionen) und knnen mit einem Klick direkt zwischen ihnen wechseln, ohne den Umweg ber das Men zu gehen.

24

| Excel 97, 2000, XP


Bedingte Formate auf andere Zellen bertragen

Sie mchten ausschlielich einige per Bedingte Formatierung festgelegte Zellenattribute von einer Zelle auf andere bertragen. Die Funktion Format bertragen kopiert jedoch alle regulren Formate. Es gibt leider keinen dezidierten Befehl zum bertragen ausschlielich bedingter Formate aber wie fast immer existiert statt dessen ein Hintertrchen. So klappts: Markieren Sie zunchst die bedingt formatierte Zelle und gleichzeitig alle Zellen, auf die Sie diese Formatierung k

23

| Excel 2000, XP
Tabellenhintergrund mit ausdrucken

Sie verwenden ein Hintergrundbild in einer Tabelle, das auf dem Ausdruck nicht zu sehen ist. Sie wollen die Tabelle aber komplett mit dem Hintergrund drucken. Zwei Lsungsmglichkeiten bieten sich Ihnen an. Sie knnen die Abbildung mit Hilfe des Befehls Einfgen, Grafik, Aus Datei direkt in Ihre Tabelle einfgen. Excel druckt sie anschlieend automatisch mit, allerdings sind dadurch die Zellen im betroffenen Bereich berlagert und unter Umstnden berhaupt nicht mehr lesbar. Besser gehts so: Hinterlegen Sie die Grafik mit dem Befehl Format, Blatt, Hintergrund so bleiben die Zellen sichtbar. Der Ausdruck ist jedoch nur ber die integrierte Webseiten-Vorschau mglich: Klicken Sie also auf Datei, Webseitenvorschau. Excel startet daraufhin Ihren Internet-Browser und zeigt die Tabelle als HTML-Dokument an. Diese Webseite knnen Sie anschlieend ber die Druckfunktion Ihres Browsers zu Papier bringen.

Strrisch: Fr das Ausdrucken von Tabellen mit farbenfrohen Hintergrnden bentigt Excel einige Nachhilfe.

23

CHIP | OFFICE KOMPAKT

160

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

bertragen wollen. Wenn es sich dabei um getrennte Bereiche handelt, halten Sie die Taste [Strg] gedrckt und markieren mit der Maus nacheinander die Zellen, ansonsten geht es auch durch Aufziehen eines Rahmens mit der Maus oder mit gleichzeitig gedrckter Umschalttaste. Klicken Sie anschlieend auf Format, Bedingte Formatierung. Sofern sich nicht bereits eine bedingte Formatierung in einer der markierten Zellen befindet, sehen Sie im Dialogfeld die Einstellungen der Ausgangszelle. Klicken Sie danach auf OK nun haben smtliche Zellen eine einheitlich bedingte Formatierung. Bei dieser Methode bleiben wie gewnscht alle anderen Formate erhalten.

25

| Excel 97, 2000, XP


Rechengenauigkeit gezielt anwenden

In einer Preiskalkulation entstehen zum Beispiel durch Skonti und Rabatte leicht Werte mit Bruchteilen von Cents. Obwohl Sie die Werte runden, rechnet Excel weiter mit den exakten Zahlen. Sie mchten aber mit den gerundeten Werten weiterarbeiten. Excel bietet eine Option, smtliche Berechnungen mit einer definierten Genauigkeit durchzufhren. Whlen Sie zu diesem Zweck den Befehl Extras, Optionen und wechseln Sie anschlieend zum Register Berechnen. Dort aktivieren Sie im Bereich Arbeits-

24

Schnell bertragen: Das richtige Markieren der Zellen gengt schon fast zum bertragen der bedingten Formatierungen.

CHIP | OFFICE KOMPAKT

161

25

Runde Sache: Bestimmen Sie Excels Rechengenauigkeit mit der Funktion RUNDEN gezielt fr einzelne Felder Ihrer Tabellenberechnungen.

mappe die Option Genauigkeit wie angezeigt. Nach dem Klick auf OK weist Sie Excel mit einer Warnung darauf hin, dass durch diese Einstellung die Berechnungsgenauigkeit der hinterlegten Zahlen dauerhaft verlorengeht. ! Achtung: Setzen Sie diese Option mit Bedacht ein. Sie wirkt jeweils fr die gesamte Arbeitsmappe. Eventuell entstehen dadurch an anderer Stelle ungewollt Abweichungen in Ihrer Kalkulation, die Sie spter nicht mehr ohne weiteres rckgngig machen knnen. Nur wenn die gerundeten Zahlen das Ergebnis einer Formel sind, knnen Sie durch Ausschalten der Option die ursprngliche Genauigkeit wiederherstellen. Wenn Sie wegen dieser Einschrnkungen nicht mit der genannten Option arbeiten mchten, erweitern Sie stattdessen Ihre Formeln in den einzelnen Zellen wie folgt mit der Funktion RUNDEN:
=RUNDEN(<Ihrebisherige Formel>;2)

Excel passt das Ergebnis auf zwei Nachkommastellen an und verwendet diese glatten Werte fr weitere Berechnungen. Die Genauigkeit in anderen Bereichen des Arbeitsblatts bleibt erhalten.

26

| Excel 97, 2000, XP


Anzeige fhrender Nullen bei Postleitzahlen sicherstellen

In unserem Postleitzahlensystem spielt eine Null als erste Ziffer der Zahlenkolonne eine im Wortsinne fhrende Rolle. Fehlt die Null, eingefhrt fr Orte in den neuen Bundeslndern, landet eine Sendung schnell in Berlin statt in Dresden oder in Mnchengladbach statt in Leipzig. Sie wollen sichergehen, dass Ihnen so etwas nicht passiert. Standardmig entfernt Excel fhrende Nullen bei Zahlenangaben automatisch. Deshalb sollten Sie fr Postleitzahlen ein k
CHIP | OFFICE KOMPAKT

162

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

27

Ohne Umweg: Deaktivieren Sie die Option Direkte Zellbearbeitung aktivieren, um per Doppelklick direkt verknpfte Zellen leichter zu erreichen.

Sonderformat definieren oder mit einem Textformat arbeiten. Markieren Sie dazu in der Tabelle den betreffenden Datenbereich und whlen Sie Format, Zellen. Im Register Zahlen klicken Sie nun auf die Kategorie Sonderformate und anschlieend auf das Format Postleitzahl oder Postleitzahl (D). Nach einem Klick auf OK bleibt bei Ihren Postleitzahlen eine fhrende Null dort, wo sie hingehrt. Alternativ knnen Sie auch ein eigenes Format definieren. Fr das Beispiel der Postleitzahlen klicken Sie auf Benutzerdefiniert und geben im Feld Formate beispielsweise den Code D-00000 ein. Excel stellt Ihren Zahlen nun automatisch die Kombination D- voran und zeigt immer eine mindestens fnfstellige Zahl. Grere Zahlen sind mglich, kleinere ergnzt Excel automatisch korrekt mit fhrenden Nullen.
CHIP | OFFICE KOMPAKT

27

| Excel 97, 2000, XP


Verknpfte Zellen ohne Umweg erreichen

Sie bearbeiten komplexe Excel-Tabellen, in denen viele Zellen miteinander verknpft sind. Dabei ist es oft schwierig zu ermitteln, welche Zellen auf welche Art verzahnt sind. Der Einsatz der Formelberwachung aus Excel XP oder des Detektivs lterer ExcelVersionen ist Ihnen zu umstndlich. Sie suchen einen einfacheren Weg, sich berblick ber Verknpfungen zu verschaffen. ffnen Sie Extras, Optionen und wechseln Sie im gleichnamigen Dialog auf die Registerkarte Bearbeiten. Deaktivieren Sie hier die Option Direkte Zellbearbeitung aktivieren und besttigen Sie das Fenster mit OK. Wenn Sie nun doppelt auf eine verknpfte Zelle klicken, springt Excel ohne

163

Umschweife zum damit verbundenen Feld. Sollte die Zelle mit mehreren Feldern verzahnt sein, markiert Excel alle beteiligten Einheiten und springt zur ersten beteiligten Zelle. Sobald Sie darin Ihre Eingabe mit [Enter] besttigen, setzt die Tabellenkalkulation den Cursor in die nchste verknpfte Zelle. ! Achtung: Sie knnen knftig nicht mehr wie vielleicht gewohnt mit einem doppelten Klick den Inhalt einer Zelle markieren, zum Beispiel, um ihn zu kopieren und in einer anderen Zelle wieder einzufgen. Dafr mssen Sie nun die Eingabeleiste am oberen Rand des Tabellenblattes oder die Bearbeitungstaste [F2] verwenden.

28

| Excel 97, 2000, XP

Zahlen und Spalten einer Pivot-Tabelle richtig formatieren


Zur Datenauswertung nutzen Sie eine Pivot-Tabelle. Nach jeder Aktualisierung Ihrer Eingaben ndert Excel die von Ihnen verwendeten Zahlenformate, Zeilenund Spaltenbreiten. Das nervt! Daher suchen Sie eine Methode, die Formate dauerhaft festzulegen. Excel bernimmt jeweils die Zahlenwerte neu aus den Ursprungsdaten und ignoriert dabei mgliche bestehende Formatierungen. Auerdem passt das Programm die k

28

Festgesetzt: Gewhnlich ndern Pivot-Tabellen Spaltenbreiten und Formate je nach Inhalt der Zellen. Mit dieser Option legen Sie das Aussehen jedoch endgltig fest.

CHIP | OFFICE KOMPAKT

164

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

Spaltenbreite an die berechneten Daten an. Zur korrekten Formatierung aktivieren Sie ber Ansicht, Symbolleisten, Pivot-Tabelle oder PivotTable zuerst die zugehrige Symbolleiste. Klicken Sie darin auf das Klappmen Pivot-Tabelle und je nach Excel-Version auf Optionen oder Tabellenoptionen. Im folgenden Dialog aktivieren Sie das Kontrollkstchen Formatierung behalten und besttigen mit OK. Klicken Sie erneut auf das Kombinationsfeld Pivot-Tabelle in der Symbolleiste und auf Markieren, Strukturierte Auswahl oder ab Excel 2000 auf MarkieZwischenstand: Teilergebnisse lassen sich in Tabellen leicht ren, Auswahl aktivie29 einfgen und erhhen die bersichtlichkeit enorm. ren. Formatieren Sie nun Ihre Tabelle. Verwenden Sie nacheinander und dann einzeln formatieren. Whlen Sie die zwei Befehle in der Symbolleiste Pivot- Pivot-Tabelle, Daten aktualisieren. Excel Tabelle, Markieren, Ganze Tabelle und berechnet die Zahlenwerte neu und vereinPivot-Tabelle, Markieren, Daten. Kli- heitlicht die Formatierung. Jetzt knnen Sie cken Sie auf Pivot-Tabelle, Feld oder ab prfen, ob die Einstellungen richtig sind. Excel 2000 auf PivotTable, Feldeigenschaften und im folgenden Dialog auf 29 Excel XP Zahlen. Nun knnen Sie ein einheitliches Mehr bersicht durch Zahlenformat fr alle Felder der PivotTeilergebnisse schaffen Tabelle einstellen. Excel ndert dabei alle Spaltenbreiten. Alternativ knnen Sie auch Um groe Excel-Tabellen bersichtlicher zu in der Tabelle jeweils unterschiedliche gestalten, mchten Sie Ihre Daten gern zusammengehrige Bereiche markieren nach bestimmten Kriterien gruppieren und

CHIP | OFFICE KOMPAKT

165

fr diese Gruppen Zwischenergebnisse ausrechnen lassen. Markieren Sie den Inhalt der Tabelle und sortieren Sie ihn mit dem Befehl Daten, Sortieren nach der Spalte, die das Gruppierkriterium enthlt, zum Beispiel die Autoren in einer Bcherliste. Whlen Sie im obersten Kombinationsfeld die gewnschte Spalte, setzen Sie eine Option fr die berschrift und besttigen Sie mit OK. Dann positionieren Sie den Cursor in eine beliebige Zelle der sortierten Tabelle und rufen aus dem Men Daten, Teilergebnisse auf. Im gleichnamigen Dialog whlen Sie unter Gruppieren nach wieder die oben gewhlte Spalte. Im Feld Unter Verwendung von knnen Sie bestimmen, nach welchen Kriterien Excel die Teilergebnisse ermitteln soll. Am interessantesten sind die Funktionen Anzahl und Summe: Wenn Sie ein nichtnumerisches Feld als Teilergebnis whlen, kann Excel mit Anzahl zum Beispiel die Summe der vermerkten Titel eines bestimmten Autors anzeigen. Summe hingegen hilft, die Preise der Bcher eines Autors zu addieren. Danach whlen Sie in der Liste Teilergebnisse addieren zu die Spalten Ihrer Tabelle aus, auf die Sie die ausgewhlte Funktion anwenden mchten. Setzen Sie in die Kstchen vor den entsprechenden Eintrgen per Mausklick ein Kreuz. Auch hier ist es nicht mglich, gleichzeitig die Funktion Anzahl auf die Buchtitel und die Funktion Summe auf den Buchpreis anzuwenden. Sie mssen sich wie beim Kriterium zur Gruppierung fr eine Funktion entscheiden. Auerdem knnen Sie weitere Optionen wie Vorhandene

Teilergebnisse ersetzen und Seitenumbrche zwischen Gruppen einfgen aktivieren oder deaktivieren. Wenn Sie Ergebnisse unterhalb der Daten anzeigen deaktivieren, erscheint nach der Gruppierung die Zeile mit den Zwischenergebnissen oberhalb der Gruppen. Klicken Sie auf OK, um die Daten in Ihrer Tabelle zu gruppieren und die gewhlten Teilergebnisse einzufgen. Die gruppierten Daten knnen Sie nun ein- und ausblenden, indem Sie am linken Rand des Arbeitsblattes einfach auf die kleine Schaltflche mit dem Plus- oder Minuszeichen klicken. Zum Entfernen der Gruppierung und der Teilergebnisse whlen Sie Daten, Teilergebnisse und klicken auf Alle entfernen.

30

| Excel 97, 2000, XP


Nur sichtbare Zellen einer Auswertung kopieren

Sie haben eine Tabelle mit Hilfe des Autofilters ausgewertet. Nun mchten Sie einen Datenbereich der gefilterten Liste kopieren und an anderer Stelle einfgen. Statt des markierten Datenbereichs erscheinen nach dem Einfgen die zuvor gefilterten Zellen der Ausgangstabelle. Das wollen Sie unterbinden. Die Lsung dieses Problems finden Sie in einem versteckten Menbefehl. Markieren Sie zunchst den Bereich in der Tabelle, den Sie kopieren wollen mit Tastatur oder Maus und whlen Sie dann Bearbeiten, Gehe zu. Klicken Sie in diesem Dialog auf Inhalte, whlen Sie Nur sichtbare Zellen aus. Nach Klick auf OK hat Excel die Auswahl wie gewnscht modifiziert, Sie knnen k
CHIP | OFFICE KOMPAKT

166

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

nun die sichtbaren Daten ber die Zwischenablage kopieren. Wenn Sie diese Methode knftig hufiger bentigen, knnen Sie sich auch den entsprechenden Befehl schneller verfgbar machen, indem Sie ihm eine eigene Schaltflche in der Symbolleiste geben oder ihn in ein PulldownMen einbauen. Whlen Sie hierfr Extras, Anpassen, aktivieren Sie das Register Befehle. Klicken Sie links auf die Kategorie Bearbeiten, suchen Sie rechts den Befehl Sichtbare Zellen Sichtweise: In Excel knnen Sie eine markierte Auswahl vor markieren. Ziehen Sie 30 dem Kopieren auf sichtbare Zellen beschrnken. ihn mit gedrckter Maustaste in eine Symbolleiste oder ein Men, etwa in Bearbeiten. Nach31 Excel 97, 2000, XP dem sich das Men geffnet hat, verschieKomplexe Auswertung mit ben Sie die schwarze Linie an die gewnschPivot-Tabelle realisieren te Position und lassen erst jetzt die Maustaste los. Danach Schlieen Sie den In einer Arbeitsmappe haben Sie in einzelDialog. nen Monatstabellen Umstze und Ertrge Auf diese Weise knnen Sie natrlich mit verschiedenen Produktschlsseln ernach Belieben auch andere, nicht direkt fasst. Dabei stehen die Schlssel in jeder zugngliche Funktionen und Befehle von Tabelle in willkrlicher Reihenfolge und Excel auf eine Symbolleiste oder in ein knnen auch mehrfach auftreten. Sie Men legen. mchten nun in einer neuen Tabelle eine Knftig mssen Sie dann nur noch den geordnete Jahreszusammenfassung erzeubetreffenden Bereich markieren und danach gen, aufgeteilt nach den einzelnen Produktmit dem Befehl Bearbeiten, Sichtbare schlsseln. Zellen markieren oder per Mausklick auf die zugeordnete Symbolschaltflche die Wenn Sie eine Lsung mit Formeln suchen, Auswahl korrigieren. werden Sie vermutlich bald entnervt aufge-

CHIP | OFFICE KOMPAKT

167

ben. Die Aufgabe wrde nmlich eine umstndliche Kombination aus Summenbildung und SUMMEWENN-Abfragen erfordern. Es geht aber auch viel einfacher die genannte Aufgabe ist das typische Einsatzgebiet fr die mchtige Funktion PivotTabellen. Legen Sie eine neue Tabelle fr die Jahresauswertung an. Whlen Sie als nchstes den Befehl Daten, Pivot-Tabellenbericht. Im Assistenten klicken Sie auf Erstellt Pivot-Tabelle basierend auf mehreren Konsolidierungs-

bereichen, da Sie in diesem Fall Quelldaten aus mehreren Tabellen auswerten wollen. Klicken Sie auf Weiter, whlen Sie Einfache Seitenfeld-Erstellung, klicken Sie erneut auf Weiter. Nun mssen Sie nacheinander alle Datenbereiche in der Arbeitsmappe markieren. Aktivieren Sie die betreffende Tabelle, markieren darin den interessanten Datenbereich mit der Maus. Klicken Sie im Dialogfenster auf die Schaltflche Hinzufgen. Wiederholen Sie den Vorgang fr alle k

31

Kreuz und quer: Der Pivot-Tabellen-Assistent hilft beim Eingeben und Bearbeiten von Datenbereichen, die ber mehrere Tabellen hinweg verstreut sind.

CHIP | OFFICE KOMPAKT

168

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

Datenbereiche der einzelnen Monatstabellen und klicken Sie dann abschlieend auf Weiter. Im Schritt 3 des Assistenten klicken Sie im Vorschaubereich doppelt auf die Schaltflche Zeile. ndern Sie im folgenden Dialog den Namen auf Produktschlssel, besttigen Sie mit OK. Prfen Sie als nchstes im Vorschaubereich Daten, ob dort das Feld Summe-Wert als Schaltflche eingefgt ist. Sofern Sie ein anderes Feld sehen, klicken Sie doppelt darauf und ndern im folgenden Dialog die Einstellung unter Zusammenfassen mit auf Summe. Besttigen Sie mit OK. Klicken Sie nun auf Weiter. Im nchsten Schritt drcken Sie auf Optionen und deaktivieren dann das Kontrollkstchen Gesamtsumme fr Zeilen. Besttigen Sie diese Einstellung wiederum mit OK. Whlen Sie danach die Option zum Einfgen in bestehendes Arbeitsblatt und klicken Sie abschlieend auf Ende. Excel erzeugt nun automatisch die fertige Pivot-Tabelle mit den zusammengefassten und nach einzelnen Produktschlsseln geordneten Jahreswerten fr Umsatz und Ertrag. Zustzlich sehen Sie die Gesamtsummen ber alle Produkte.

32

| Excel 2000, XP
Arabische Ziffern in rmische umwandeln

fern um. Fnf Formatierungsvarianten stehen zur Verfgung, von denen die klassische die gebruchlichste ist. Das folgende Beispiel geht davon aus, dass Sie in der Zelle B2 den Inhalt der Zelle A2 als rmische Ziffer darstellen mchten. Geben Sie in B2 den Befehl =RMISCH(A2) ein. Im rmischen Zahlenformat kann Excel ganze Zahlen im Intervall von 1 bis 3999 umwandeln. Grere oder negative Werte sind im rmischen Zahlzeichensystem nicht darstellbar Excel quittiert solche Versuche mit der Fehlermeldung #WERT!. Bei gebrochenen Zahlen wandelt Excel automatisch den ganzzahligen Teil der Eingabe um aus 12,4 wird so beispielsweise die rmische Ziffer XII. Optional knnen Sie getrennt durch ein Semikolon nach der Zahl oder Zelladresse noch einen Wert von 0 bis 4 fr die Darstellungsform der rmischen Zahl angeben. Die Schreibweisen reichen von klassisch bis stark vereinfacht, wobei die Zeichenfolge immer krzer wird, wie die folgende Tabelle zeigt: ! Achtung: Wenn Sie nicht sicherstellen knnen, dass sich die Werte in A2 innerhalb des zulssigen Intervalls befinden, knnen Sie die Anzeige des Fehlerhinweises #WERT! in B2 mit der folgenden Formel unterdrcken:
=WENN(UND(ISTZAHL(A2);A2>0); RMISCH(A2);""))

Zur Nummerierung Ihrer Tabellenarbeitsbltter wollen Sie arabische in rmische Ziffern umwandeln. Die Funktion RMISCH() akzeptiert eine arabische Ziffer oder ihre Zelladresse als Parameter und wandelt sie in rmische ZifCHIP | OFFICE KOMPAKT

Die WENN-Funktion sorgt in diesem Fall dafr, dass die Zelle unter allen Voraussetzungen nur gltige Werte enthlt. Der erste Parameter der Funktion entspricht der

169

Wie im alten Rom: Mit der Funktion RMISCH() konvertieren Sie arabische in rmische Ziffern.

32

Prfbedingung. Im Beispiel testet Excel, ob es sich beim Inhalt der Zelle A2 tatschlich um eine Zahl grer null handelt. Der zweite Parameter definiert den Inhalt der Zelle, falls diese Prfung positiv ausfllt. Der dritte Parameter bestimmt den Inhalt der Zelle, falls die Bedingung nicht erfllt ist, und zeigt im Beispiel einen leeren Textstring an hier knnen Sie einen beliebigen Kommentar einfgen.

33

| Excel XP
Monatsersten oder -letzten zu einem Datum ermitteln

Fr Ihre Abrechnungen brauchen Sie immer wieder den ersten oder letzten Tag genau des Monats, in dem ein angegebenes Datum liegt. Sie suchen einen mglichst einfachen Weg, ihn zu ermitteln. Den Monatsletzten ermitteln Sie mit der Excel-Funktion MONATSENDE() aus dem Add-In Analyse-Funktionen. Prfen

Sie zunchst, ob es bereits installiert und aktiviert ist: Rufen Sie Extras, Add-Ins auf. Setzen Sie wenn nicht vorhanden vor den Listeneintrag Analyse-Funktionen ein Hkchen, schlieen Sie den Dialog mit OK und Ja. Es erfolgt die Installation des Add-Ins, wofr Sie meistens die Office-CD bentigen. Die Funktion MONATSENDE() bentigt zwei durch Semikolon getrennte Parameter: Der erste gibt das Ausgangsdatum an, der zweite bestimmt, wie viele Monate das zu errechnende Monatsende vor oder nach dem Ausgangsdatum liegen soll. Um zum Beispiel den letzten Tag des Monats zu ermitteln, in den das in Zelle A2 enthaltene Ausgangsdatum fllt, verwenden Sie den Ausdruck =MONATSENDE(A2;0). Nach dem Aufruf =MONATSENDE(A2;1) liefert Excel den letzten Tag des auf das Ausgangsdatum folgenden Monats. Die Funktion bercksichtigt dabei sowohl die unterschiedliche Lnge der Monate als auch Schaltjahre. k
CHIP | OFFICE KOMPAKT

170

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

Grenzwertig: Den ersten oder den letzten Tag des Monats eines Datums knnen Sie in Excel leicht ermitteln.

33

Zum Ermitteln des ersten Tages im Monat mssen Sie nur im eingegebenen Ausgangsdatum den Tageswert gegen eine 1 austauschen. Fr manche automatisierten weiterfhrenden Berechnungen ist das durchaus sinnvoll. Die zugehrige Formel:
=DATUM(JAHR(A2);MONAT(A2);TAG(1))

Bereiten Sie von B3 bis H3 den Bereich fr die Eingabe der Gewinnzahlen plus Zusatzzahl vor. Darunter tragen Sie ab Zeile 6 Ihre eigene Lieblingstippreihe in die Spalten B bis G ein. Ermitteln Sie dann mit der Funktion ZHLENWENN, ob eine Zahl sowohl in Ihren Tippreihen als auch bei den Gewinnzahlen vorkommt. Als Ergebnis erhalten Sie 0 oder 1. Diese Funktion wiederholen Sie fr jede gezogene Gewinnzahl und bilden daraus die Summe. Die Zusatzzahl behandeln Sie separat. Geben Sie also in das Feld I6 die folgende Formel ein:
=ZHLENWENN(B6:G6;B$3)+ZHLEN WENN(B6:G6;C$3)+ZHLENWENN(B6:G6 ;D$3)+ZHLENWENN(B6:G6;E$3)+ZH LENWENN(B6:G6;F$3)+ZHLENWENN(B6:G6;G$3)

Die Funktion DATUM() setzt aus den drei bergebenen Bestandteilen eines Datums Jahr, Monat und Tag ein neues Datum zusammen. JAHR() und MONAT() korrespondieren mit den Bestandteilen des in A2 abgelegten Ausgangsdatums. TAG(1) bestimmt den ersten Tag im Monat.

34

| Excel 97, 2000, XP


Lottogewinne schneller erkennen

Beim Lottospielen setzen Sie immer auf Ihre Lieblingszahlen. Nach jeder Ziehung mssen Sie alle Einzeltipps mhsam mit den Gewinnzahlen vergleichen. Das soll knftig Excel fr Sie erledigen.
CHIP | OFFICE KOMPAKT

Bei der Zeilenangabe des Vergleichsfeldes verwenden Sie das vorangestellte Dollarzeichen, damit Sie die Formel anschlieend fr die weiteren Tippreihen kopieren knnen und den richtigen Bezug zu den Gewinnzahlen behalten. Im Feld J6 geben Sie die Formel =ZHLENWENN(B6:G6;H$3) ein, um die Treffer der Zusatzzahl zu ermitteln. Markieren Sie, bei I6 beginnend, so viele Zellen nach unten, wie Sie Tippreihen auswerten mchten. Mit dem Befehl Bearbeiten, Ausfllen, Unten kopieren Sie die Formel in die weiteren Zellen. Fhren Sie den Befehl Format, Bedingte Formatierung aus. Im Feld Bedingung 1 whlen Sie die Einstellung Zellwert ist und im nebenstehenden Kombinationsfeld grer oder gleich. Im Eingabefeld rechts geben Sie 3 ein und klicken dann auf Format. Wechseln Sie zum Register Muster, wh-

171

len die Farbe Grn und besttigen Sie die offenen Dialoge jeweils mit OK. Kopieren Sie nun auch die Auswerteformel der Zusatzzahl, beginnend von Zelle J6 nach unten. Knftig mssen Sie nur noch die aktuellen Gewinnzahlen eingeben. Dann sehen Sie rechts neben Ihren Tippreihen sofort grn unterlegte Zellen, falls Sie gewonnen haben. Die Zahlen dieser Felder zeigen an, ob Sie nur einen Dreier oder das ganz groe Los gezogen haben und sich auf Champagnersuche machen knnen. Eine Beispieltabelle finden Sie auf der Heft-CD.

Duplizieren, um nicht jedes einzelne Diagramm komplett neu definieren zu mssen. Die Anleitung geht davon aus, dass Ihr Protokoll in Spalte A des Arbeitsblattes die Messzeitpunkte und in den folgenden Spalten die zu den Messkriterien gehrigen Werte auflistet. Erzeugen, gestalten und definieren Sie nun wie gewohnt ber Einfgen, Diagramm die erste grafische Darstellung anhand der Daten in den beiden Spalten A und B. Um schnell ein zweites Diagramm auf Basis der in Spalte C dokumentierten Werte zu erhalten, gehen Sie folgendermaen vor: Markieren Sie das erste Diagramm per Mausklick und rufen Sie Bearbeiten, Kopieren auf. Dann fgen Sie mit Bearbeiten, Einfgen eine Kopie dieses Diagramms in Ihr Arbeitsblatt ein und markieren diese Kopie erneut mit einem Mausklick. Excel markiert die im Diagramm verwendeten Spalten mit verschiedenen Farben. Klicken Sie mit der linken Maustaste auf die Markierung fr die Werte der Y- k

35

| Excel 2000, XP
Vorhandene Diagramme leicht duplizieren

In einer Excel-Datei haben Sie in mehreren Spalten Messwerte unterschiedlicher Kriterien zu bestimmten Zeitpunkten erfasst. Nun mchten Sie die Werte jeder Spalte jeweils in einem separaten Diagramm darstellen. Sie suchen eine Mglichkeit zum

34

Rasch ausgewertet: Excel kann Ihre Tippreihen mit den Gewinnzahlen vergleichen so entgehen Ihnen auch die kleinen Lottogewinne nicht mehr.

CHIP | OFFICE KOMPAKT

172

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

35

Dopplereffekt: ber Kopieren und Einfgen knnen Sie ein Diagramm problemlos duplizieren, um danach per Drag & Drop seine Datenbasis zu ndern.

Achse (im Beispiel Spalte B) und ziehen Sie die Markierung auf die nchste Spalte (im Beispiel C). ! Achtung: Wenn Sie berschrift oder Legende des ersten Diagramms manuell angepasst und nicht direkt aus der Datenbasis im Arbeitsblatt entnommen haben, mssen Sie diese Elemente auch im neuen Diagramm manuell ndern.

und Grafikdateien archiviert und mit Hyperlinks fr den direkten Zugriff versehen. Nach dem Umbenennen des Ordners oder dem Verschieben der Dateien funktionieren die Links nicht mehr. Ein Hyperlink enthlt neben der Zieladresse weitere Informationen, etwa den angezeigten Text oder die Quickinfo. Die Funktion Suchen und Ersetzen hilft Ihnen daher bei der Korrektur der Hyperlinks nicht sie kann lediglich den angezeigten Text bearbeiten, nicht jedoch den zugrunde liegenden Verweis auf die versteckte Zieladresse. Erst ein Umweg fhrt zum Ziel: Speichern Sie die Excel-Datei mit Datei, Als Websei-

36

| Excel 97, 2000, XP


Verweise eingefgter Hyperlinks korrigieren

In einer Tabelle haben Sie die Namen der auf Ihrer Festplatte gespeicherten MusikCHIP | OFFICE KOMPAKT

173

te speichern im HTML-Format. Im zugehrigen Dialog whlen Sie die Option Gesamte Arbeitsmappe und lassen das Kontrollkstchen Interaktivitt hinzufgen deaktiviert. Whlen Sie einen Dateinamen und klicken Sie auf Speichern. Schlieen Sie Excel. Zustzlich zur eben erzeugten HTMLDatei finden Sie einen Unterordner, der alle Tabellenbltter jeweils einzeln in einer Datei mit dem Namensmuster SHEET???.HTM enthlt. ffnen Sie diese Dateien nacheinander mit einem Texteditor wie Notepad und ndern Sie mit der Funktion Bearbeiten, Ersetzen die Eintrge. Dabei knnen Sie gleichzeitig den angezeigten Text und den Verweis Ihrer Hyperlinks korrigieren, weil diese gesuchten Eintrge nun separat im HTML-Quelltext stehen. Nachdem Sie alle Dateien bearbeitet und gespeichert haben, starten Sie Excel und whlen Datei, ffnen aus. Im Kombinationsfeld Dateityp whlen Sie die Einstel-

lung Webseiten und Webarchive. Nun markieren Sie Ihre zuvor als Basisdatei gespeicherte HTML-Datei und klicken auf ffnen. Dann knnen Sie die korrigierte Arbeitsmappe wieder als Excel-Datei speichern.

37

| Excel 97, 2000, XP


Gesamte Arbeitsmappe nach Wert durchsuchen

Sie suchen in einer groen Arbeitsmappe mit zahlreichen Tabellenblttern einen bestimmten Wert. Da Sie nicht wissen, in welcher Tabelle sich der Wert befindet, mchten Sie die komplette Arbeitsmappe bequem durchsuchen. Die Suchmethoden hngen von der von Ihnen eingesetzten Excel-Version ab. In Excel XP ffnen Sie Bearbeiten, Suchen und klicken im Dialog auf Optionen. Im oberen Kombinationsfeld Suchen ndern Sie die Einstellung auf Arbeitsmappe. Geben Sie Ihren Wert ein und legen Sie weitere Optionen fest. Klicken Sie schlielich auf Alle suchen. Excel springt daraufhin zur ersten Fundstelle und zeigt im Dialogfenster eine Liste mit allen in der Arbeitsmappe gefundenen Positionen. In lteren Excel-Versionen knnen Sie hingegen nur mit einem Trick blattbergreifend suchen. Wechseln Sie auf das erste Tabellenblatt der Arbeitsmappe und klicken Sie auf das Register am unteren Rand. Halten Sie die [Shift]-Taste gedrckt und klicken Sie auf das Register der letzten Tabelle. Nun sind alle Tabellen markiert, was Sie am weien Hintergrund der Register erkennen. Rufen Sie Bearbei- k
CHIP | OFFICE KOMPAKT

Umweg: Speichern Sie die Arbeitsmappe als Webseite, damit Sie Hyperlinks bequemer korrigieren knnen.

36

174

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

Bequeme Suche: In Excel XP knnen Sie einen Suchbegriff in der gesamten Arbeitsmappe finden und Treffer direkt ber den Suchen und ErsetzenDialog ansteuern.

37

ten, Suchen auf und geben Sie einen Begriff ein. Excel stoppt die Suche beim ersten Auftreten des Werts. Klicken Sie auf Weiter, um die Suche fortzusetzen und so nach und nach alle Fundstellen in der Arbeitsmappe aufzuspren.

38

| Excel 97, 2000, XP, 2003


Daten mit | als Trennzeichen exportieren

trennzeichen das hier voreingestellte Semikolon durch den senkrechten Strich | (Tastenkombination [Alt Gr]+[<]). Klicken Sie abschlieend auf bernehmen und OK. In anderen Windows-Versionen erreichen Sie das Register Zahlen, indem Sie in der Systemsteuerung doppelt auf das Sym-

Zur Verwendung in Internetdatenbanken mchten Sie Excel-Tabellen mit einem senkrechten Strich anstelle eines Semikolons oder Tabstopps als Trennzeichen exportieren. Diese Einstellung ist grundstzlich mglich, erfolgt jedoch nicht in Excel. Zur Anpassung des Trennzeichens beim Datenexport klicken Sie unter Windows XP in der Systemsteuerung doppelt auf das Symbol Regionsund Sprachoptionen und anschlieend im Register Regionaleinstellungen auf Anpassen. Auf dem Register Zahlen berschreiben Sie im Kombinationsfeld ListenCHIP | OFFICE KOMPAKT

Exportvorschrift: Das Trennzeichen fr den Excel-Datenexport bestimmen Sie in der Systemsteuerung.

38

175

bol Lndereinstellungen klicken. Jetzt knnen Sie zu Excel wechseln und Daten exportieren. Verwenden Sie dazu den Befehl Datei, Speichern unter. Im folgenden Dialog whlen Sie als Dateityp die Einstellung CSV (Trennzeichen getrennt). Geben Sie einen Dateinamen ein und klicken Sie auf Speichern. Besttigen Sie die weiteren Hinweise nacheinander mit OK und mit Ja.

39

| Word, Excel, Powerpoint 2003


Aktuell geffnete Datei zu Favoriten hinzufgen
Brosternchen: ber die Symbolleiste Web knnen Sie geffnete OfficeDateien als Favoriten speichern.

Um schnell auf Dateien zugreifen zu knnen, wollen Sie bestimmte, zuvor bearbeitete Dokumente in die Liste der Favoriten eintragen. Sie suchen einen mglichst einfachen Weg, eine Verknpfung auf geffnete Office-Dateien quasi als Lesezeichen zu speichern. Nutzen Sie in Ihrer Office-Anwendung die Symbolleiste Web, die Sie mit Ansicht, Symbolleisten, Web anzeigen knnen. Klicken Sie darin auf das Symbol Favoriten: Es erscheint das gleichnamige Men des Internet Explorers. Mit dem Befehl Zu Favoriten hinzufgen erzeugen Sie eine Verknpfung auf das aktuell geffnete Dokument. Der sich darauf hin ffnende Dialog hnelt dem Fenster Speichern unter. Navigieren Sie in den gewnschten Unterordner von FAVORITEN, in dem Sie die neue Verknpfung ablegen mchten. Tragen Sie unter Dateiname einen aussagekrftigen Namen ein und klicken Sie abschlieend auf Hinzufgen.

39

40

| Excel 97, 2000, XP, 2003


Texte in Zellen gezielt automatisch vervollstndigen

Whrend Sie eine Zelle editieren, schlgt Excel zur Vervollstndigung Texte vor, die bereits in darber liegenden Zellen eingetragen sind. Bis Excel eindeutig entscheiden kann, welcher Eintrag Ihnen vorgeschlagen wird, mssen Sie weitertippen. Das ist lstig Sie wollen schneller auswhlen knnen. Es gibt noch eine zweite Mglichkeit, Texte in eine Zelle einzufgen. Klicken Sie mit der rechten Maustaste in die betreffende Zelle und rufen Sie den Kontextbefehl Dropdown-Auswahlliste auf. In lteren Versionen vor 2003 heit der Befehl noch Auswahlliste. Es erscheint ein Dialog mit allen Eintrgen, die Sie bereits oberhalb der aktuellen Zelle in der gleichen Spalte verwen- k
CHIP | OFFICE KOMPAKT

176

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

Wahlfreiheit: ber die rechte Maustaste erreichen Sie die DropdownAuswahlliste im Kontextmen.

40

det haben, und Sie brauchen nur noch den gewnschten Text auszuwhlen. ! Achtung: Sowohl beim automatischen Vervollstndigen Ihrer Texteingabe als auch beim Befehl Dropdown-Auswahlliste wertet Excel ausschlielich die oberhalb der aktuellen Zelle verwendeten Texte aus, bis es auf eine leere Zelle trifft.

kieren Sie zunchst wie gewohnt den gewnschten Zellbereich. Klicken Sie dann mit der rechten Maustaste auf die Statusleiste von Excel, die Sie gegebenenfalls mit dem Menbefehl Ansicht, Statusleiste anzeigen knnen. Es erscheint ein Kontextmen, in dem Sie zwischen verschiedenen Standardauswertungen wie Summe, Anzahl, Min, Max und Mittelwert whlen knnen. Um beispielsweise den Durchschnittswert der markierten Zellen zu erfahren, klicken Sie im Kontextmen auf den Eintrag Mittelwert. Daraufhin prsentiert Ihnen die Tabellenkalkulation in der Statusleiste immer diesen Wert der aktuell markierten Zelle. Sie knnen diese Anzeige aber jederzeit auf die beschriebene Art und Weise ndern und bei Bedarf auch eine andere Funktion aus dem Kontextmen der Statusleiste nutzen.

41

| Excel 97, 2000, XP, 2003


Standardauswertungen schnell ohne Formel vornehmen

Sie ermitteln sehr hufig Summe, Mittelwert, Minimum oder Maximum von verschiedenen Wertebereichen. Dazu tragen Sie die notwendige Formel in eine freie Zelle ein, lschen sie spter wieder und fragen sich, ob es auch einfacher geht. Wenn Sie beispielsweise den Mittelwert von mehreren Werten berechnen mchten, marCHIP | OFFICE KOMPAKT

Werthaltig: Die Statusleiste von Excel kann den Mittelwert oder die Summe der markierten Zellen anzeigen.

41

177

Immer aktuell: Mit Hilfe von Excel knnen Sie Ihre Tabellen ber das Web aktualisieren.

42

42

| Excel XP
Webseiten in Excel einbinden

43

| Excel XP
Grundrechenarten mehrfach anwenden

Brsenkurse oder andere aktuelle Zahlen aus dem Internet knnen Sie mit der aktuellen XP-Version von Excel problemlos in eigene Tabellen einfgen, und zwar nicht nur als simple Zahl(en), sondern auch per Mausklick mit der Quelle im Internet abgleichbar. Markieren Sie dazu im Internet die Werte, die Sie kopieren wollen, und drcken Sie dann die Tastenkombination [Strg]+[C] (Kopieren in die Zwischenablage). ffnen Sie Excel, und whlen Sie Einfgen aus dem Bearbeiten-Men. Klicken Sie an der unteren rechten Ecke der Tabelle auf den Smart-Tag und dann auf Aktualisierbare Web-Abfrage erstellen. Im folgenden Fenster klicken Sie auf das gelbe Kstchen neben der gewnschten Tabelle. Besttigen Sie mit Importieren. Um die Daten spter zu aktualisieren, klicken Sie sie mit der rechten Maustaste an und whlen Daten aktualisieren.

In Excel XP knnen Sie auf alle markierten Zellen eine bestimmte Rechenoperation anwenden, beispielsweise alles durch 365 teilen. Geben Sie in eine Zelle 365 ein, kopieren Sie sie mit [Strg]+[C]. Markieren Sie den zu berechnenden Bereich. Whlen Sie Bearbeiten, Inhalte einfgen und aktivieren Sie unter Vorgang die gewnschte Funktion. Anschlieend klicken Sie auf OK.

44

| Excel XP
Nur Werte aus Zellen kopieren

Zum Weitergeben von Tabellen macht es Sinn, aus einem Excel-Sheet die Formeln zu entfernen und nur Werte zu behalten. Dazu markieren Sie alles mit [Strg]+[A] und drcken [Strg]+[C]. ffnen Sie ein neues Blatt, und whlen Sie Bearbeiten, Inhalte einfgen. Unter Einfgen klicken Sie auf Werte und abschlieend noch auf OK.
CHIP | OFFICE KOMPAKT

178

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

45

| Excel XP
Tabellen in Word bernehmen

Sie wollen in ein Word-Dokument eingesetzte Tabellen stets aktuell halten: Wenn Sie in Excel etwas ndern, soll sich das sofort auch in Word niederschlagen. Markieren Sie dazu in Excel die Tabelle und kopieren Sie sie mit [Strg]+[C] in die Zwischenablage. In Word gehen Sie im Men Bearbeiten auf Inhalte einfgen. Whlen Sie Verknpfung einfgen und im rechten Teil das Excel-Format. Wenn Sie nun nderungen an der Excel-Datei vornehmen, aktualisiert Word die Tabelle gleich mit.

Mausklick ffnen, erscheint dort nicht mehr der Menpunkt Schlieen, der sich ausschlielich auf die aktuelle Arbeitsmappe bezieht, sondern stattdessen der Menpunkt Alle schlieen.

47

| Parameter nutzen
Optionale Parameter richtig einsetzen

46

| Alles schlieen
Alle Arbeitsmappen gleichzeitig schlieen

Anstatt alle offenen Arbeitsmappen einzeln zu schlieen, knnen Sie eine Funktion nutzen, die Excel Ihnen zur Verfgung stellt. Wenn Sie die Taste Umschalt gedrckt halten und das Men Datei mit einem

Mit Hilfe von Parametern lassen sich Funktionen flexibel gestalten. Aber nicht immer ist es notwendig, alle Werte auch tatschlich in den Funktionsaufruf einzutragen. So verwendet zum Beispiel die Excel-eigene Funktion DM zur Darstellung einer Whrung die korrekte Formatierung in der Landeswhrung, die Sie in den Lndereinstellungen der Systemsteuerung von Windows festgelegt haben. Bei der Funktion knnen Sie als zweiten Parameter die Anzahl der Nachkommastellen angeben. Diese zweite Angabe ist jedoch optional. So fhrt bereits die Angabe =DM(123,3) zum Ergebnis 123,30 Euro. Mit Hilfe des zweiten Parameters haben Sie allerdings die Mglichkeit, die Anzahl der Nachkommastellen vorzugeben. Ein Beispiel: Mit =DM (123,3;0) werden Zahlenwerte nur als ganze Euro in der Form 123 angezeigt. Denselben Mechanismus knnen Sie auch bei eigenen benutzerdefinierten Funktionen verwenden. Haben Sie beispielsweise eine Funktion, die herausfinden soll, ob eine bestimmte Zahl gerade, also durch 2 teilbar ist, so lautet der Code mit Hilfe des Operators MOD:
Function Teilbar(Zahl) If Zahl Mod 2 = 0 Then Teilbar = True Else

Kurzer Prozess: Wenn Sie beim Aufruf des Mens Datei die UmschaltTaste gedrckt halten, knnen Sie alle Arbeitsmappen auf einmal schlieen.

46

CHIP | OFFICE KOMPAKT

179

47

Nicht zu bersehen: Lediglich die Parameter, die Sie eingeben mssen, werden beim Funktions-Assistenten in Fettschrift dargestellt die anderen sind optional.
Teilbar = False

End If End Function

48

| Eintrge verbergen
Tabellenbltter unsichtbar machen

In einer Excel-Tabelle reicht die Formel =Teilbar(1234), um als Ergebnis Wahr oder Falsch anzuzeigen. Wenn Sie die Funktion derart erweitern wollen, dass Sie mit ihr berechnen knnen, ob eine Zahl durch 3, 4 oder einen beliebigen anderen Wert teilbar ist, verwenden Sie dazu einfach einen weiteren Parameter. Da jedoch die Prfung auf gerade/ungerade in der Praxis am hufigsten bentigt wird, nutzen Sie den zweiten Parameter optional:
Function Teilbar(Zahl, t Optional Teiler = 2) If Zahl Mod Teiler = 0 Then

Auf diese Weise knnen Sie die Funktionen bei der Prfung einer Zahl auf gerade/ungerade genauso weiterverwenden: =teilbar(123). Allerdings besteht zustzlich die Mglichkeit, zu prfen, ob die Zahl beispielsweise durch den Wert 17 teilbar ist: =teilbar(123456;17).

Oft enthlt eine Arbeitsmappe zahlreiche Tabellen, die entweder nur Zwischendaten zeigen oder nicht unbedingt fr jedermanns Augen bestimmt sind. Mit Hilfe des Mens Format, Blatt, Ausblenden knnen Sie diese Arbeitsbltter vor neugierigen Blicken verbergen. Allerdings kann ein kundiger Benutzer sie auf sehr leichte Art ber den Befehl Format, Blatt und Einblenden wieder sichtbar machen. Mit Hilfe von VBA knnen Sie jedoch eine Tabelle komplett vor den Augen des Benutzers verbergen, so dass sie nur wieder durch ein weiteres Makro sichtbar gemacht werden kann. Um beispielsweise das aktuelle Arbeitsblatt unsichtbar zu machen, verwenden Sie das folgende Makro:
Sub Verbergen() ActiveSheet.Visible = 2 End Sub

k
CHIP | OFFICE KOMPAKT

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

180

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

Obwohl das Arbeitsblatt weiterhin in der Datei vorhanden ist, finden Sie es nicht in der Liste der verborgenen Tabellen, die Sie mit dem Befehl Format, Blatt, Einblenden anzeigen knnen. Erst mit einem zustzlichen Makro, das alle Tabellen wieder sichtbar macht, bringen Sie auch dieses verborgene Arbeitsblatt wieder zum Vorschein:
Sub AlleAnzeigen() For i = 1 To Sheets.Count Sheets(i).Visible = -1 Next End Sub

49

| Passwortschutz
VBA-Projekte mit Passwort schtzen

Schutz vor Neugier: Sie knnen Ihr geistiges Eigentum in der VBA Entwicklungsumgebung mit einem Passwort vor unberechtigtem Zugriff schtzen.

49

Wenn Sie eigene VBA-Projekte erstellt und dabei Stunde um Stunde mit der Programmierung verbracht haben, ist es Ihr gutes Recht, Ihr geistiges Eigentum vor unerlaubtem Gebrauch durch Dritte zu schtzen. Geben Sie ein ungeschtztes Add-In oder auch eine Arbeitsmappe mit enthaltenen VBA-Routinen ohne Schutz weiter, so kann jedermann Ihren Code weiterverwenden. Um das zu unterbinden, verbergen Sie in der VBA-Entwicklungsumgebung Ihr Projekt einfach vor unbefugten Augen.

Nur fr Insider: Wer sich geschtzten Programm-Code anschauen will, muss das richtige Passwort kennen.

49

Wechseln Sie von Excel aus mit der Tastenkombination Alt+F11 in die VBA-Entwicklungsumgebung. Klicken Sie in der Projektbersicht 2 mit der rechten Maustaste auf den Eintrag VBAProject (...) des Projekts, das Sie schtzen wollen. Whlen Sie dann im sich ffnenden Kontextmen den Eintrag Eigenschaften von VBAProject mit einem einfachen Mausklick aus. Wechseln Sie im Dialogfenster Pro3 jekteigenschaften mit einem Klick auf den Reiter zur Seite Schutz. Markieren Sie das Kontrollkstchen 4 Projekt fr die Anzeige sperren. Tragen Sie dann in dem Textfeld rechts neben Kennwort ein Passwort fr das Projekt ein und wiederholen Sie die Eingabe in dem Textfeld darunter. Klicken Sie auf die Schaltflche OK 5 und anschlieend auf die Diskette in der Symbolleiste.

CHIP | OFFICE KOMPAKT

181

Nun knnen Sie die Datei beliebig weitergeben, ohne dass sich jeder x-beliebige Anwender Ihren VBA-Code aneignen kann. Allerdings ist dieser Schutzmechanismus, mit dem Excel Ihren Code vor fremden Augen verbirgt, nicht wirklich sicher. In einem weiteren Tipp (Nr. 56) erfahren Sie, wie man das Passwort beliebiger Office-2000/XP-Excel-Dateien ganz leicht entfernt. Wer versucht, Einblick in den Code zu gewinnen, wird in einem Kennwort-Dialog aufgefordert, das Passwort einzugeben. Erst dann werden die einzelnen Elemente eines VBA-Projekts sichtbar gemacht. Hinweis: Das Kennwort mssen Sie erst wieder bei einem erneuten Excel-Start oder beim erneuten Laden der Datei eingeben.

Geben Sie dann wie gewohnt das folgende Makro ein:

Sub AutoZoom() Aufloesung = t GetSystemMetrics(0) If Aufloesung >= 1280 Then ActiveWindow.Zoom = 200 ElseIf Aufloesung >= 1024 Then ActiveWindow.Zoom = 150 ElseIf Aufloesung >= 800 Then ActiveWindow.Zoom = 120 Else ActiveWindow.Zoom = 100 End If End Sub

50

| Zoom anpassen
Automatisch die optimale Vergrerung

Auch wenn auf Ihrem Desktop-PC mit groem Monitor ein Tabellenblatt bei einer Vergrerung von 200 Prozent prima aussieht, kann es sein, dass dieselbe Tabelle auf einem Notebook mit kleinerem Display nur zum Teil angezeigt wird. Mit VBA knnen Sie die auf dem jeweiligen Computer eingestellte Auflsung ermitteln und den ZoomFaktor entsprechend darauf abstimmen. Erstellen Sie in der VBA-Umgebung 1 ber den Menpunkt Einfgen, Modul ein neues Makro-Modul. Geben Sie in diesem Modul in der ers2 ten Zeile die folgende Anweisung ein:
Declare Function t GetSystemMetrics Lib t user32 (ByVal nIndex t As Long) As Long

Bei GetSystemMetrics handelt es sich brigens nicht um einen Bestandteil von VBA, sondern vielmehr um eine WindowsFunktion. Diese liefert Informationen ber die Systemeigenschaften wie beispielsweise die aktuell eingestellte horizontale oder vertikale Auflsung des Bildschirms als Ergebnis zurck. Welchen Wert der Funktionsaufruf liefert, hngt von dem Parameter ab. So liefert der Parameter 0 als Ergebnis die Anzahl der horizontalen Punkte der Bildschirmauflsung. Das Makro AutoZoom ermittelt diese PC-abhngige Bildschirmauflsung und setzt den Zoom-Faktor fr die momentan gewhlte Tabelle abhngig vom jeweils ermittelten Wert. Soll diese Routine beim Start ausgefhrt werden, muss sie von einem automatischen Makro aufgerufen werden. Geeignet hierfr sind die Eigenschaften Workbook_Open, die beim Laden der Mappe eintritt, und Workbook_SheetChange, die eintritt, sobald der Benutzer das Arbeitsblatt wechselt. k
CHIP | OFFICE KOMPAKT

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

182

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

51

| Passwort
Kennwort von Arbeitsmappen knacken

ActiveWorkbook. t Unprotect erg & Chr(J) If Err = 0 Then MsgBox "Code:" & erg,, t "Passwort geknackt!" Exit Sub End If Next Next End Sub

So wie Sie den Schutz eines Arbeitsblatts mit Hilfe eines Makros aus den Angeln heben knnen, knnen Sie auch den Schutz einer Arbeitsmappe mit Hilfe eines Makros knacken. Die Vorgehensweise der beiden Makros ist vergleichbar. Einziger Unterschied: Die Anweisung zum Aufheben des Blattschutzes lautet
ActiveSheet.Unprotect erg t & Chr(J)

52

| Welche Kalenderwoche ist gemeint?


Kalenderwoche nach DIN berechnen

Whrend der Befehl zum Entschlsseln des Passworts fr die aktuelle Arbeitsmappe folgendermaen lautet:
ActiveWorkbook.Unprotect erg t & Chr(J)

Die vollstndige Makro-Prozedur mit allen Befehlen lautet:


Sub MappenSchutzEntfernen() On Error Resume Next For I = 0 To 2047 erg = pwkombi(I) For J = 32 To 126 Err.Clear

In Deutschland wird die Kalenderwoche nach DIN 1355 berechnet. Haben Sie das Excel-Add-In mit Analyse-Funktionen installiert, haben Sie ein Problem: Es stellt Ihnen zwar eine Funktion zur Berechnung der Kalenderwoche zur Verfgung, doch diese entspricht nicht der in Deutschland blichen Norm. Denn laut Norm beginnt die erste Kalenderwoche nicht unbedingt in derselben Woche, in der auch der 1. Januar liegt. So kann es vorkommen, dass sogar der 3. Januar noch in die letzte Kalenderwoche des Vorjahres fllt. Die Lsung: Mit dem untenstehenden Makro ermitteln Sie aus jedem beliebigen Datum die DIN-normgerechte Kalenderwoche.
Function KW(d) t = DateSerial(Year(d + t (8 - Weekday(d)) Mod 7 t - 3), 1, 1) KW = (d - t - 3 + t

Nur fr den Notfall: Das Makro MappenSchutzEntfernen kann den Schutz von Arbeitsmappen aufheben.

51

(Weekday(t) + 1) t Mod 7) \ 7 + 1 End Function

CHIP | OFFICE KOMPAKT

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

183

53

| DIN-gerechte Datumsberechnung
Erster Tag einer DIN-Kalenderwoche

vbMonday Datum = Datum - 1 Wend anzahl = KW(datum) - KWoche KWDatum = datum - anzahl * 7 End function

Anhand eines Datums die zugehrige Kalenderwoche zu berechnen ist die eine Seite der Medaille. Wollen Sie hingegen ermitteln, welche Daten sich zum Beispiel hinter der 35. Kalenderwoche eines Jahres verbergen, mssen Sie aus der Nummerierung der Kalenderwoche und der Jahreszahl ein konkretes Datum errechnen. Und diese Aufgabe ist weitaus komplizierter. Die folgende Funktion ermittelt zunchst einen Montag in der Mitte des Jahres, zum Beispiel den letzten Montag vor dem 1. Juli. Dann bestimmt die Funktion die Kalenderwoche, in die dieses Datum fllt. Im nchsten Schritt wird die Differenz des Ergebnisses zur gesuchten Kalenderwoche bestimmt, woraus sich der gesuchte Montag ergibt:
Function KWDatum(Jahr As t Integer, KWoche As Integer) Datum = DateSerial(Jahr, 7, 1) While Weekday(Datum) > t

54

| Passwrter entfernen
Passwort von VBAProjekten knacken

Haben Sie Ihre Projekte mit einem Passwort geschtzt, damit niemand Ihre Makros verndern kann? Diese sinnvolle Manahme hat Ihre Schattenseite: Es kann vorkommen, dass Sie dieses Kennwort vergessen, wenn Sie zum Beispiel mehrere unterschiedliche Passwrter verwenden oder eine Datei nur selten verwenden. Sollten Sie ein Passwort vergessen, haben Sie keinerlei Zugriff mehr auf den damit geschtzten VBA-Code. Mit Hilfe eines kleinen Programms, (Sie finden es im Internet unter www.ive-software.de/xlcrack.exe), knnen Sie den Passwortschutz von Excel-Arbeitsmappen und - k
Passwort ausschalten: Zuerst whlen Sie im Dateidialog, von welcher ExcelDatei das Kennwort entfernt werden soll, bevor das Makro das Passwort knackt.

54

CHIP | OFFICE KOMPAKT

184

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

Add-Ins umgehen. Voraussetzung ist, dass Sie Excel 2000 oder 2002 (XP) einsetzen bei Dateien im Format Excel 97 und frherer Versionen funktioniert dies nicht.

Wichtig: Diese Software dient nicht dazu, den Schutz des geistigen Eigentums anderer aufzuheben. Sie darf nur dazu verwendet werden, eigene geschtzte Projekte, de-

55 | EXCEL-POWERTIPP

Schaltflche direkt in das Tabellenblatt einbauen


Hufig ist es sinnvoll, ein Makro nicht mit einer Symbolschaltflche, sondern mit einer Schaltflche zu verbinden, die sich direkt auf dem Arbeitsblatt befindet, damit die Funktion dem Anwender stets zur Verfgung steht. ffnen Sie das Arbeitsblatt, in das die Schaltflche eingebunden weden soll. Aktivieren Sie die Steuerelemente-Sym2 bolleiste ber den Menpunkt Ansicht und Symbolleisten. Klicken Sie im Untermen auf den Eintrag Steuerelemente-Toolbox. Klicken Sie in der Symbolleiste auf das Bild Befehlschaltflche. Ziehen Sie im Tabellenblatt mit der Maus ein Rechteck an der Stelle auf, an der die Schaltflche stehen soll. Sobald Sie die Maustaste loslassen, sehen Sie eine neue Schaltflche mit der Aufschrift CommandButton1 in der Tabelle. Lassen Sie diese neue Schaltflche mar4 kiert und klicken Sie in der Symbolleiste oben rechts auf Eigenschaften. Im Eigenschaften-Fenster, das hnlich aus5 sieht wie das der VBA-Umgebung, tragen

Zentrale fr Integration: ber die Symbolleiste mit dem Namen Steuerelemente-Toolbox knnen Sie Schaltflchen direkt in die Tabellen einbinden und mit VBA-Code versehen.

CHIP | OFFICE KOMPAKT

185

ren Kennwort Sie vergessen haben, wieder ffnen zu knnen! Auf der beiliegenden CD finden Sie die Datei Geschuetzt.xls. In dieser Arbeits-

Sie in der Spalte rechts neben der Eigenschaft Caption die Beschriftung der Schaltflche ein, etwa Klick mich!. Sobald Sie die Schaltflche mit der Maus 6 doppelt anklicken, erzeugt Excel den CodeRahmen fr das zugehrige automatische Makro. Hier knnen Sie beliebigen Code eintragen, beispielsweise
MsgBox "Danke frs Klicken"

Um die Schaltflche in Aktion zu sehen, mssen Sie den Entwurfsmodus beenden. Klicken Sie dazu auf das kleine Geodreieck-Symbol oben links, so dass es nicht mehr aussieht, als wre es heruntergedrckt. Ein Hinweis: Wollen Sie spter diese Schaltflche noch einmal verndern, mssen Sie zunchst wieder durch einen erneuten Klick auf das Geodreieck-Symbol in den Entwurfsmodus zurckwechseln. Als nchstes wird mit Hilfe der vorangegangenen Funktion KW berechnet, wie viele Wochen zwischen der aktuellen Kalenderwoche also der des berechneten Datums und der gesuchten Woche liegen:

Anzahl = (KW(Datum) - KWoche)

Nun mssen Sie vom Datum die Anzahl der Wochentage also die Anzahl der Wochen multipliziert mit 7 abziehen, und Sie haben nun das gewnschte Datum:
KWDatum = Datum - Anzahl * 7 End Function

mappe befindet sich eine einfache VBARoutine, die wir mit einem Passwort geschtzt haben. An dieser Datei knnen Sie zu Testzwecken das Entfernen des Kennwortschutzes ausprobieren. Dazu mssen Sie die Datei zunchst auf die Festplatte kopieren, da das Programm Vernderungen an einer Datei, die sich auf einer CD-ROM befindet, nicht vornehmen kann. Legen Sie die Heft-CD ein, starten Sie 1 den Windows-Explorer. Wechseln Sie mit Hilfe des Explorers 2 in den Ordner \data\shareware\heftmakros auf der CD. Markieren Sie die Datei Geschuetzt.xls und kopieren Sie sie mit Strg+C, in die Zwischenablage. Wechseln Sie in einen beliebigen Ord3 ner Ihrer Festplatte und fgen Sie die Datei mit der Tastenkombination Strg+ V wieder aus der Zwischenablage in diesen Ordner hinein. Nun ist die Datei fr unseren Test vorbereitet. Sie knnen jetzt das Passwort des VBA-Projekts mit Hilfe des nachfolgend beschriebenen Makros entfernen. Schlieen Sie Excel. Laden Sie das Pro4 gramm XLCrack.exe aus dem Internet herunter. Stellen Sie dazu eine InternetVerbindung her und geben Sie folgende Adresse in der Adressleiste des Browsers ein: www.ive-software.de/xlcrack.exe. Klicken Sie in der Programmbeschreibung auf Jetzt downloaden. Klicken Sie auf Speichern und whlen Sie unter Speichern in ein Verzeichnis auf Ihrer Festplatte aus. Klicken Sie erneut auf Speichern. Daraufhin wird die Datei auf Ihren Computer bertragen. ffnen Sie den WindowsExplorer und wechseln Sie in das Verzeichnis, in dem die Datei gespeichert wurde. k
CHIP | OFFICE KOMPAKT

186

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

Schutzmassnahme: Beim Entfernen des Passworts wird eine Kopie des Originals angelegt.

54

Starten Sie die Installation mit einem Doppelklick auf das Dateisymbol. Klicken Sie im Programm auf die lin5 ke Schaltflche mit der Bezeichnung Dateiname auswhlen. Whlen Sie im folgenden Dialog die 6 gewnschte Arbeitsmappe oder das Add-In aus, deren Passwortschutz aufgehoben werden soll, und besttigen Sie Ihre Auswahl mit der Schaltflche ffnen. Wenn die Datei von einer CD-ROM stammt, teilt Ihnen das Programm mit, dass die Datei schreibgeschtzt ist (Standard bei von CDs kopierten Files). Mit einem Klick auf die Schaltflche Ja wird der Schreibschutz entfernt. Klicken Sie in der Anwendung auf 7 Passwort entfernen. Das Programm verndert die Datei, wobei der Passwortschutz beseitigt wird. Gleichzeitig legt es aus Sicherheitsgrnden eine Kopie des Originals an, dem es die Endung BAK anhngt. ffnen Sie die modifizierte Excel8 Datei durch einen Doppelklick mit der Maus auf den entsprechenden Eintrag
CHIP | OFFICE KOMPAKT

im Windows-Explorer. bergehen Sie alle Fehlermeldungen, indem Sie jedesmal auf die Schaltflche Ja klicken. Wechseln Sie mit der Tastenkombina9 tion Alt+F11 zur VBA-Entwicklungsumgebung. bergehen Sie die verschiedenen Fehlermeldungen, indem Sie alle Meldungen sofort mit der Schaltflche OK wegklicken. Klicken Sie in der Projektbersicht 10 mit der rechten Maustaste auf die soeben vernderte Datei. Whlen Sie den Punkt Eigenschaften von ... aus dem sich ffnenden Kontextmen. Wechseln Sie zum Register Schutz. 11 Tragen Sie in das Feld rechts neben Kennwort ein neues Passwort ein. Wiederholen Sie diese Eingabe im Textfeld darunter. Schlieen Sie den Dialog mit OK und speichern Sie die nderung ber das Diskettensymbol in der Symbolleiste. Erst nachdem Sie wie oben beschrieben fr die Datei ein neues Kennwort eingerichtet haben, steht Ihnen der VBA-Code uneingeschrnkt zur Bearbeitung zur Verfgung.

187

Hinweis: Die Tatsache, dass es bereits mit einem so simplen Programm mglich ist, den Passwortschutz des VBA-Codes zu knacken, zeigt mehr als deutlich, dass dieser Schutz bei weitem nicht ausreicht, wenn Sie Ihre Werke vor neugierigen Blick oder gar nderungen schtzen mchten. Seien Sie sich dieser Schwachstelle stets bewusst, wenn Sie eigene Projekte weitergeben, die durch ein Passwort geschtzt sind.

AAABABABABB/

lauten oder auch


BBBAAABBBAAx

56

| Blattschutz
Blattschutz-Passwort per Makro knacken

Besonders bei umfangreichen Arbeitsmappen ist es oft sinnvoll, ein Arbeitsblatt ber den Menpunkt Extras, Schutz vor dem berschreiben der Formeln zu schtzen. So verhindern Sie zum einen, dass Ihr mhevoll erstelltes Arbeitsblatt versehentlich verndert wird, zum anderen knnen Sie es bedenklos weitergeben, ohne eventuelle Fehleingaben durch unerfahrene Benutzer befrchten zu mssen. Wenn Sie eine geschtzte Arbeitsmappe weitergeben, kann es manchmal erforderlich sein, dass der Anwender der Mappe diesen Schutz nicht aufheben kann. Dazu vergeben Sie im Dialog ein Kennwort. Was aber, wenn Sie dieses Kennwort vergessen? Fr diesen Notfall haben die Programmierer von Microsoft in Excel ein Hintertrchen offengelassen: Jedes beliebige Passwort wird intern in eine elfstellige Buchstabenkombination aus As und Bs umgewandelt, gefolgt von einem Zeichen, das in der ASCII-Zeichentabelle zwischen dem Leerzeichen und der Tilde (~) liegt. Dementsprechend knnte das Passwort beispielsweise

Tatschlich gibt es bei 12 Zeichen insgesamt 194.560 Kombinationsmglichkeiten. Diese alle von Hand auszuprobieren wrde rund einen Monat dauern Fr diese Aufgabe bietet sich indes ein VBA-Makro an. Starten Sie Excel mit einer neuen 1 Arbeitsmappe. Wechseln Sie mit der Tastenkombina2 tion Alt+F11 in die VBA-Entwicklungsumgebung und legen Sie mit dem Befehl Modul im Men Einfgen ein neues Makro-Modul fr den VBA-Code an. In diesem Makro erstellen Sie eine 3 Funktion, die bei Eingabe einer Zahl zwischen 0 und 2047 alle fr diese Zahl mglichen elfstelligen A-B-Kombinationen zurckliefert:
Function pwkombi(Zahl) erg = "" X = Zahl While X > 0 If X Mod 2 = 0 Then erg = "A" & erg Else erg = "B" & erg End If X = X \ 2 Wend While Len(erg) < 11 erg = "A" & erg Wend pwkombi = erg End Function

Die Funktion knnen Sie sofort ausprobieren, indem Sie beispielsweise in eine k
CHIP | OFFICE KOMPAKT

188

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

beliebige Zelle die Formel =PWKombi(0) eintragen. Das Ergebnis ist eine Reihe von elf A. Tragen Sie in eine andere Zelle die Formel =PWKombi(1) ein, wird dort als Ergebnis die Buchstabenfolge AAAAAAAAAAB dargestellt. Auf diese Weise lsst sich jede A-B-Kombination erzeugen. Das Makro BlattSchutzEntfernen 4 tut genau das. Es durchluft alle Zahlen von 0 bis 2047 und erzeugt daraus die AB-Kombination. Dann probiert es in einer weiteren Schleife alle Zeichen vom Leerzeichen (Code 32) bis hin zur Tilde (Code 126) aus, ob sie kombiniert mit dem A-B-Muster den Blattschutz aufheben kann. Ergibt der Versuch einen Fehler, war es nicht erfolgreich. Hat es hingegen funktioniert, ist der Blattschutz entfernt die Schleife kann beendet werden.
Sub BlattSchutzEntfernen() On Error Resume Next For I = 0 To 2047 erg = pwkombi(I) For J = 32 To 126 Err.Clear ActiveSheet.Unprotect t erg & Chr(J) If Err = 0 Then MsgBox "Code: " & t erg, , "Geknackt!" Exit Sub End If Next Next End Sub

Geheimnis lften: Mit Hilfe des Makros BlattSchutzEntfernen knnen Sie ein Arbeitsblatt-Passwort knacken und auf diese Art den Schutz entfernen.

56

57

| Automatische Aktionen
Alle Zellen eines Bereichs durchlaufen

Immer wieder steht man bei der Programmierung vor der Aufgabe, dass eine spezielle Operation auf einen bestimmten Zellbereich ausgefhrt werden soll, etwa wenn man einen ausgewhlten Zellbereich einheitlich einfrben oder eine Berechnung durchfhren mchte. Die Grundlage solcher Operationen bildet immer eine doppelte Schleife, die nacheinander jede einzelne Zelle eines ausgewhlten Bereichs durchluft, bei jeder Zelle haltmacht und die gewnschte nderung vornimmt. Fr eine nderung der Zellen im Bereich B1 bis C4 etwa lauten die ineinander geschachtelten Schleifen:
For Zeile = 1 To 4 For Spalte = 2 To 3 ' Verarbeitung Next Next

Bei diesem Makro sollten Sie eine Wartezeit von fnf bis zehn Minuten einkalkulieren, da eventuell alle 194.560 Kombinationen berechnet werden.
CHIP | OFFICE KOMPAKT

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

189

Jetzt mssen Sie nur noch innerhalb der Schleifen, wo bislang der Kommentar Verarbeitung eingetragen ist, die gewnschten nderungen vornehmen. Wichtige Voraussetzung: Sie mssen die Eigenschaften der Zelle genau kennen. Damit Ihnen Excel alle Eigenschaften und Methoden dieser Zelle aufzeigt, definieren Sie zunchst eine Variable vom Typ Range (deutsch: Bereich).
Dim Zelle As Range

Vorteil dieser Deklaration besteht darin, dass Excel Ihnen sobald Sie im ProgrammCode Zelle. eingeben alle verfgbaren Eigenschaften und Methoden auflistet. Wollen Sie beispielsweise die Farbe der Schrift der Zelle mit einem zuflligen Wert belegen, so lautet die Anweisung so:
Zelle.Font.ColorIndex = t Rnd() * 32

Dieser Variablen teilen Sie im nchsten Programmschritt mit, dass sie stellvertretend fr die Zelle in der entsprechenden Zeile und Spalte innerhalb des Excel-Arbeitsblattes steht:
Set Zelle = Cells(Zeile, t Spalte)

In dieser Funktion wird der Eigenschaft ColorIndex der Zellschriftart ein zuflliger Wert zwischen 0 und 31 zugewiesen, der den Index innerhalb der Excel-eigenen Farbpalette darstellt.

58

| Schtzen und Freigeben


Nur spezielle Zellen zum Bearbeiten freigeben

Nun knnen Sie ber diese Variable auf den Inhalt und auf die Formatierung der entsprechenden Zelle zugreifen. Der groe

Wenn Sie eine Excel-Arbeitsmappe weitergeben, sollten Sie nur die Zellen fr Eingaben freigeben, in die der Benutzer Werte eingeben darf. So schtzen Sie beispielsweise Ihre Formeln. Um ein Arbeitsblatt auf diese Weise zu schtzen, gehen Sie vor wie folgt: Markieren Sie die Zelle, 1 in die der Benutzer einen Wert eingeben darf. Whlen Sie im Men 2 Format den Punkt Zellen und im Dialog das Register Schutz. Entfernen Sie die Mar3 kierung aus dem KonFarbenzauber: Ein Klick auf die Schaltflche frbt den trollkstchen Gesperrtund 57 Zellbereich mit einer zuflligen Schriftfarbe. klicken Sie auf OK. k
CHIP | OFFICE KOMPAKT

192

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

Wiederholen Sie diese Schritte fr alle Zellen der Tabelle, in die der Benutzer Werte eingeben darf. Um den Schutz zu aktivieren, whlen 5 Sie im Men Extras den Eintrag Schutz, Blatt schtzen und dann OK.

Aufgrund dieser Manahmen kann der Benutzer nur noch die so freigegebenen Zellen verndern. Allerdings kann er den Zellzeiger weiterhin ber die geschtzten Bereiche bewegen. Diese Freiheit knnen Sie jedoch im VBA-Editor einschrnken:

60 | EXCEL-POWERTIPP

Laufende

Uhrzeit in der Statusleiste


eine Sekunde und teilen ihm mit, dass er dasselbe Makro immer wieder aufrufen soll. Erzeugen Sie in der VBA-Umgebung ber den Menpunkt Einfgen, Modul ein neues Makro-Modul.

Excel besitzt einen in den Tiefen von VBA verborgenen Wecker. Dieser Wecker kann bei Angabe einer Uhrzeit ein beliebiges Makro ausfhren. Um die Uhrzeit fortlaufend im Sekundentakt anzuzeigen, stellen Sie in einem Makro den Wecker immer auf die aktuelle Zeit plus

Im Sekundentakt: Mit Hilfe des eingebauten Weckers von Excel knnen Sie beispielsweise jederzeit die aktuelle Uhrzeit mit fortlaufender Sekundenanzeige in die Statuszeile einblenden.

CHIP | OFFICE KOMPAKT

193

Wechseln Sie mit Alt+F11 erneut zum VBA-Editor. Markieren Sie in der Projektbersicht 7 die gewnschte Arbeitsmappe und darunter die Tabelle, in der sich der Benutzer frei bewegen darf.

Aktivieren Sie mit der Taste F4 das Eigenschaften-Fenster. Klicken Sie dort auf die Eigenschaft EnableSelection, ndern Sie ihren Wert von xlNoRestrictions auf xlUnlockedCells. Der Nachteil: Diese Einstellung gilt in Excel nur fr die Dauer der jeweiligen Arbeitssitzung. Wollen Sie hingegen, dass diese Sperre bei jedem Start der Mappe gilt, lassen Sie die Code-Zeile

tabelle1.EnableSelection = t xlUnlockedCells

Geben Sie in diesem Modul den folgenden Programm-Code ein:

direkt beim Laden der Arbeitsmappe also im Ereignis Workbook_Open automatisch ausfhren.

Sub Zeitanzeige() Application.StatusBar="Zeit:" t & Format(Time, "hh:mm:ss") NextTime = Now + t TimeValue("00:00:01") Application.OnTime t NextTime, "Zeitanzeige" End Sub

59

| Zhlen
Neue laufende Nummer automatisch erzeugen

In der ersten Zeile des Listings wird in der Statuszeile der Anwendung (also Excel) die aktuelle Zeit dargestellt. Dann wird die Uhrzeit in einer Sekunde (now fr deutsch jetzt) berechnet. ber den Aufruf Application.OnTime starten Sie den Wecker, wobei Sie als ersten Parameter die Weckzeit und als zweiten Parameter den Namen des Makros angeben, das zu der angegebenen Zeit automatisch ausgefhrt werden soll. In unserem Beispiel handelt es sich um den Namen des aktuellen Makros. Beim erstenmal mssen Sie das Makro manuell starten. Danach ruft es sich jede Sekunde selbst auf, um die Uhrzeit zu aktualisieren. Wollen Sie, dass die Anzeige der Uhrzeit automatisch beginnt, wenn die Arbeitsmappe geladen wird, tragen Sie den Aufruf Zeitanzeige im automatischen Makro Workbook_Open ein.

Egal, ob Sie Ihre private Videokassettensammlung mit Excel verwalten oder sogar Ihre Fakturierung mit Kunden- und Artikeldaten mit Microsofts Tabellenkalkulation realisieren: Stets bentigen Sie Nummern, anhand deren die einzelnen Eintrge identifiziert werden knnen. Dabei kann es sich etwa um Artikelnummern, Kundennummern oder Rechnungsnummern handeln. Bei jedem neuen Eintrag brauchen Sie zudem eine neue laufende Nummer, die noch nicht vorhanden ist. Ein Makro erledigt die Aufgabe:
Sub NeueNummer() Zeile = Selection.Row Spalte = Selection.Column

Ist ein Bereich markiert, also mehr als eine Spalte oder eine Zeile, dann endet das Makro mit einer Fehlermeldung: k
CHIP | OFFICE KOMPAKT

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

194

VERSIONEN

PROGRAMMIERUNG

LSUNGEN TIPPS & TRICKS

If Selection.Rows.Count > 1 Or Selection.Columns.Count > 1 Then MsgBox "Nur eine Zelle markieren!!!" Exit Sub End If

61

| Besserer berblick
Zellinhalt als Kommentar ausdrucken

Auerdem beendet das Makro seine Ausfhrung, wenn die aktuelle Zelle nicht leer ist und gibt anschlieend eine Fehlermeldung aus:
If Cells(Zeile, Spalte) <> emty t Then MsgBox "Die Zelle muss t vorher leer sein!" Exit Sub End If

Wurden alle mglichen Fehlerquellen berprft, sucht das Makro in den darberliegenden Zellen nach dem grtmglichen numerischen Eintrag.
Max = 0 For I = 1 To Zeile - 1 If IsNumeric(Cells(I, t Spalte)) Then If Cells(I, Spalte) > Max t Then Max = Cells(I,Spalte) End If Next

Excel bietet Ihnen die Mglichkeit, Formeln als Kommentare zu den entsprechenden Zellen ausdrucken zu lassen. Damit nicht genug: Sie knnen auch die Inhalte der Zellen selbst als Kommentare ausdrucken. Auf diese Weise sammeln Sie die Inhalte einzelner Zellen am Blattende und knnen Sie mit einem Blick bersehen. Rufen Sie den Befehl Makros aus 1 dem Men Extras und Makro auf. Legen Sie fr das Makro einen aus2 sagekrftigen Namen fest, zum Beispiel Zellwert_in_Kommentar. Klicken Sie auf die Schaltflche Erstellen. Drcken Sie die Tastenkombination 3 Alt+F11. Geben Sie die folgenden Programmzeilen in den VBA-Editor ein:
Sub Zellwert_in_Kommentar() ActiveCell.Select ActiveCell.ClearComments ActiveCell.AddComment ActiveCell.Comment. t Text Text:=ActiveCell.Text End Sub

Das auf diese Weise ermittelte Maximum wird nun bernommen und um den Wert 1 erhht. Anschlieend wird dann das Ergebnis der aktuellen Zelle als neuer Inhalt zugewiesen.
Cells(Zeile, Spalte).Value = t Max + 1 End Sub

Das Makro whlt die aktive Zelle aus, lscht dort eventuell bereits vorhandene Kommentare und fgt den Inhalt der Zelle als Kommentar ein. Um die Kommentare zu drucken, ru4 fen Sie den Befehl Datei, Seite einrichten auf. Aktivieren Sie die Registerkarte Tabelle. Whlen Sie im Kombinationsfeld Kommentare die Option Am Ende des Blattes.

CHIP | OFFICE KOMPAKT

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