Beruflich Dokumente
Kultur Dokumente
Office-Kompakt-Ausgabe 04
12,95
64140
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,
VERSIONEN
PROGRAMMIERUNG
LSUNGEN
EDITORIAL
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
INHALT
Excel
97 2000 2002 2003
VERSIONEN
8 Neues muss nicht besser sein: Alle Excel-Versionen
im berblick wann lohnt der Umstieg?
PROGRAMMIERUNG
18 Die vielen Gesichter von VBA: Lernen Sie die Fhigkeiten der Programmiersprache kennen
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
OFFICE KOMPAKT
LSUNGEN
78 Wann ist nchstes Jahr Ostern? Mit den Datumsfunktionen ermitteln Sie alle Feiertage eines Jahres
94 Projekt- und Zeitplanung: Wie Sie mit Hilfe von AddIns Ihre Zeit einteilen und Projekte planen
VERSIONEN
PROGRAMMIERUNG
LSUNGEN
CD-INHALT
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.
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.
LSUNGEN
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.
Wie viele Befehle und Funktionen Excel genau bietet, wissen wohl nicht einmal die Programmierer von Microsoft ganz genau. k
CHIP | OFFICE KOMPAKT
10
LSUNGEN
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
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.
12
LSUNGEN
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.
14
LSUNGEN
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.
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
LSUNGEN
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
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.
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
LSUNGEN
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.
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.
19
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
t bedeutet: Diese und die Folgezeile mssen in einer Zeile eingegeben werden.
20
LSUNGEN
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.
INFO
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.
22
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.
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
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
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-
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
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.
26
LSUNGEN
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
27
DER VBA-EDITOR
4 5 6
11 10
28
LSUNGEN
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.
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.
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.
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.
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).
30
LSUNGEN
Auf Heft-CD
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
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.
32
LSUNGEN
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.
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-
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
34
LSUNGEN
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
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.
Setzen Sie den Cursor innerhalb des Makros an eine beliebige Stelle und starten Sie es.
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
LSUNGEN
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:
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.
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:
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.
38
LSUNGEN
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
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
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
LSUNGEN
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
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.
41
Im Anweisungsteil der Schleife wird zunchst KopfOderZahl aufgerufen und danach die Zhlervariable um 1 erhht:
KopfOderZahl Zaehler = Zaehler + 1
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.
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
LSUNGEN
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
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).
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
LSUNGEN
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!
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.
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
LSUNGEN
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.
Foto: K. Satzinger
47
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.
48
LSUNGEN
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.
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
LSUNGEN
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
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.
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.
52
LSUNGEN
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
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
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.
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.
LSUNGEN
55
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.
56
LSUNGEN
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.
57
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
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
LSUNGEN
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.
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
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
LSUNGEN
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
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.
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.
62
Auf Heft-CD
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
Foto/Illustration: E.Schenk-Panic
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.
ein und beenden Sie die Eingabe der Zeile durch Drcken der Eingabetaste. Anschlieend vervollstndigt Visual Basic automatisch die Definition der Funktion:
End Function
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
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)
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
66
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
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:
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)
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.
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
68
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
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 &.
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.
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:
69
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:
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
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
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
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.
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
10
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.
74
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.
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:
75
Keinerlei Einschrnkungen: Formulare knnen aus allen bekannten Fensterelementen wie zum Beispiel Schaltflchen, Listen- und Eingabefeldern zusammengestellt werden.
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.
76
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 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
77
Sofort getestet: Das zweite Beispielformular sehen Sie in der Entwicklungsumgebung und unten rechts in Aktion. Nacheinander wurden die Namen in die Liste eingegeben.
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:
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
Auf Heft-CD
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.
VERSIONEN
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.
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.
80
VERSIONEN
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)
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.
Und ebenso wird der Karfreitag vom Ostersonntag abgeleitet. Er liegt zwei Tage vor Ostern:
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.
82
VERSIONEN
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:
Aufbauend auf dem 4. Adventstag berechnen Sie die brigen Adventstage bis hin zum 1. Advent:
Function Advent1(Jahr)
83
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.)
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.
84
VERSIONEN
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
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
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.
86
Auf Heft-CD
Einkommensteuer 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
87
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
88
VERSIONEN
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:
89
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.
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.
90
VERSIONEN
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
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-
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).
92
VERSIONEN
INFO
Die
(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.
94
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
Foto: K. Satzinger
VERSIONEN
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.
96
VERSIONEN
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.
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.
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
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
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
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.
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
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.
INFO
Tabelle
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
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.
102
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
VERSIONEN
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.
104
VERSIONEN
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:
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
Blick in die Glaskugel: Bereits in der Vorschau des Diagramm-Assistenten erhalten Sie einen Eindruck, wie die fertige Grafik aussehen wird.
106
VERSIONEN
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.
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.
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.
108
VERSIONEN
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.
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.
110
Auf Heft-CD
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
VERSIONEN
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.
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
112
VERSIONEN
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).
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.
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.
114
VERSIONEN
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.
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
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
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.
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.
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
118
VERSIONEN
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
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
SCHRITT
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.
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.
122
VERSIONEN
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
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.
124
VERSIONEN
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.
125
SCHRITT
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.
126
VERSIONEN
SCHRITT
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
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.
128
VERSIONEN
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.
129
SCHRITT
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.
130
VERSIONEN
SCHRITT
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.
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
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.
132
VERSIONEN
4 5
Sie das Men 3 ffnen und whlen Sie Datei, Seite einrichten.
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.
133
SCHRITT
11
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).
134
VERSIONEN
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.
Foto: K. Satzinger
135
SCHRITT
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.
9
Nach dem Loslassen der Maustaste hat 9 die Monatsnamen eingefgt. C3 bis Excel automatisch in den Zellen M3
136
VERSIONEN
SCHRITT
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
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.
Sie die Zeilen mit den Gesamt7 Markierendie und den Gesamtausgaben einnahmen per Klick auf Zeilenkpfe, hier: 10 und 28.
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.
138
VERSIONEN
SCHRITT
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.
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
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
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.
140
VERSIONEN
SCHRITT
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
141
SCHRITT
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.
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
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.
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
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
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
144
VERSIONEN
PROGRAMMIERUNG
| 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
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.
146
VERSIONEN
PROGRAMMIERUNG
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:
t bedeutet: Diese Zeile und die Folgezeile mssen in einer Zeile eingegeben werden.
147
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.
148
VERSIONEN
PROGRAMMIERUNG
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-
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
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
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
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.
152
VERSIONEN
PROGRAMMIERUNG
13 | EXCEL-POWERTIPP
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.
153
14
| Bildschirmdarstellung unterbinden
Makros noch schneller ausfhren lassen
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
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
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
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-
19
156
VERSIONEN
PROGRAMMIERUNG
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
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
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
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
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
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
160
VERSIONEN
PROGRAMMIERUNG
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
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.
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
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
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
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
28
Festgesetzt: Gewhnlich ndern Pivot-Tabellen Spaltenbreiten und Formate je nach Inhalt der Zellen. Mit dieser Option legen Sie das Aussehen jedoch endgltig fest.
164
VERSIONEN
PROGRAMMIERUNG
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
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
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
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-
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.
168
VERSIONEN
PROGRAMMIERUNG
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
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
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.
172
VERSIONEN
PROGRAMMIERUNG
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.
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
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
Whrend der Befehl zum Entschlsseln des Passworts fr die aktuelle Arbeitsmappe folgendermaen lautet:
ActiveWorkbook.Unprotect erg t & Chr(J)
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
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
184
VERSIONEN
PROGRAMMIERUNG
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
Zentrale fr Integration: ber die Symbolleiste mit dem Namen Steuerelemente-Toolbox knnen Sie Schaltflchen direkt in die Tabellen einbinden und mit VBA-Code versehen.
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:
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
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/
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
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
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
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
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.
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
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
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.
t bedeutet: Diese Zeile und die Folgezeile mssen in einer Zeile eingegeben werden.