Von: excel-weekly-text-request@cgn.smarttools.de im Auftrag von SmartTools Publishing [excel-weekly-text-reply@smarttools.de] Gesendet: Mittwoch, 6. Oktober 2004 04:55 An: Excel Weekly Abonnenten Betreff: SmartTools Excel Weekly vom 6.10.2004 ----------------------------------------------------------- SmartTools Excel Weekly vom 6.10.2004 Jede Woche neu: Tipps, News und Problemloesungen rund um Microsoft Excel (c) 2004 by SmartTools Publishing ----------------------------------------------------------- +++ IN DIESER AUSGABE +++ EXCEL-NEWS & DOWNLOADS + SPOTLIGHT: Serienmails komfortabel mit Word verschicken + DOWNLOAD-TIPP: Inhaltsverzeichnis fuer Arbeitsmappen automatisch erstellen + TECHINFO: Ueberblick ueber Entwickler-Technologien in Office 2003 EXCEL-TIPP DER WOCHE + Hyperlinks in Arbeitsmappen optimal nutzen + QUICKTIPP: Schriftgroesse fuer Blattregister festlegen EXCEL-HELPLINE + Diagramme automatisch bei Dateneingabe erweitern + Parameter zwischen VBA-Prozeduren uebergeben NEWSLETTER-TIPP + Outlook-Tipps kostenlos per E-Mail Abonnementverwaltung und Copyright +++ EXCEL-NEWS & DOWNLOADS +++ SPOTLIGHT: Serienmails komfortabel mit Word verschicken ------------------------------------------------------- Vergessen Sie den umstaendlichen Versand von Serienbriefen per Post! Ab sofort koennen Sie Angebote, Preislisten, Newsletter, Ankuendigungen usw. direkt aus Word ganz einfach per E-Mail verschicken. Der SmartTools Serienmailer ist direkt in Word integriert und mit wenigen Mausklicks startbereit: 1. Das Anschreiben fuer Ihre Serien-E-Mail erstellen Sie genau wie einen ganz normalen Serienbrief in Word. Sogar fuer die Namen und Adressen stehen Ihnen saemtliche von Word unterstuetzten Formate zur Verfuegung: Word-Tabelle, Excel, Access, Outlook, SQL-Server usw. 2. Sie starten dann den SmartTools Serienmailer aus dem Menue EXTRAS und legen hier das Feld mit der E-Mail- Adresse sowie den Betreff fest. Auf Wunsch koennen Sie sogar einen oder mehrere Anhaenge auswaehlen, die mit dem Anschreiben verschickt werden sollen. 3. Klicken Sie auf SERIENMAILS SENDEN und der Assistent verschickt voll automatisch eine personalisierte Mail an jeden Empfaenger aus der von Ihnen vorgegebenen Liste. Der komplette Versand wird unabhaengig von Outlook durchgefuehrt, so dass es keine Probleme mit laestigen Sicherheitsmeldungen gibt! Wir bieten Ihnen den SmartTools Serienmailer zurzeit mit 20% Rabatt auf den Listenpreis an: http://www.add-in-world.com/katalog/word-serienmailer/ DOWNLOAD-TIPP: Inhaltsverzeichnis fuer Arbeitsmappen automatisch erstellen ---------------------------------------------------- Ab sofort haben Sie auch Arbeitsmappen mit vielen Tabellenblaettern ohne Probleme im Griff. Unsere kostenlose Excel-Erweiterung SmartTools XL-Inhalt legt voll automatisch ein Inhaltsverzeichnis an, in dem Sie jeden Eintrag anklicken und direkt auf die entsprechende Tabelle springen koennen. Das Inhaltsverzeichnis ist uebersichtlich und laesst sich um beliebige Zusatzinformationen und Kommentare erweitern, wenn Sie eine Arbeitsmappe beispielsweise anderen Anwendern zur Verfuegung stellen. Der Einsatz von SmartTools XL-Inhalt ist denkbar einfach Nach der automatischen Installation finden Sie in Excel ein neues Menue EXTRAS-INHALTSVERZEICHNIS ERSTELLEN vor. Rufen Sie das Menue auf und legen in dem nachfolgenden Dialogfeld die gewuenschte Ueberschrift, den Namen des Tabellenblatts und die Position des Inhaltsverzeichnisses in der Arbeitsmappe an. Sie bestaetigen dann nur noch mit OK und der Assistent erstellt voll automatisch das anklickbare Inhaltsverzeichnis, in dem jede Tabelle als Hyperlink aufgefuehrt ist: http://www.add-in-world.com/katalog/xlinhalt/ TECHINFO: Ueberblick ueber Entwickler-Technologien in Office 2003 -------------------------------------------------- Wenn Sie individuelle Loesungen mit Office 2003 entwickeln moechten, stehen Ihnen im Zuge der .NET-Schiene einige neue Moeglichkeiten zur Verfuegung. VBA steht wie bisher zur Verfuegung, aber SmartTags, XML und die Visual Studio Tools fuer Office helfen Ihnen vor allem bei Excel und Word, noch leistungsfaehigere Anwendungen zu erstellen. In einem aktuellen White Paper von Microsoft erhalten Sie einen sehr guten Ueberblick ueber die verfuegbaren Technologien: http://www.microsoft.com/downloads/details.aspx?FamilyId=5018E6FF-21F6-448F-861E-BCA4EC2A5795&displaylang=en +++ EXCEL-TIPP DER WOCHE +++ Hyperlinks in Arbeitsmappen optimal nutzen ------------------------------------------ Versionen: Excel 2002/XP und 2003 Wenn Sie eine Internetadresse wie "http://www.smarttools.de" oder "mailto:service@smarttools.de" in eine Tabelle eingeben, erzeugt Excel automatisch einen Hyperlink (blaue Schrift und unterstrichen). In vielen Faellen ist das nuetzlich, manchmal aber auch nicht erwuenscht, so dass Sie einige Tipps und Kniffe rund um den Umgang mit Hyperlinks kennen sollten. An erster Stelle ist da das Dialogfeld EXTRAS-AUTOKORREKTUR- OPTIONEN zu nennen. Auf die Registerkarte "AutoFormat waehrend der Eingabe" schalten Sie das Kontrollkaestchen INTERNET- UND NETZWERKPFADE DURCH HYPERLINKS aus, wenn Sie grundsaetzlich keine Umwandlung Ihrer Eingaben in Hyperlinks wuenschen. In der Regel werden Sie diese Option aber aktiviert lassen und den Hyperlink nur bei Bedarf entfernen. Am schnellsten geht das mit einem kleinen Trick: Druecken Sie einfach direkt nach der Eingabe Strg+Z. Damit machen Sie den zuletzt ausgefuehrten Arbeitsschritt wieder rueckgaengig und das waere in diesem Fall die Umwandlung Ihrer Eingabe in einen Hyperlink. Alternativ dazu koennen Sie auch das SmartTag oeffnen, das Excel an der Zelle anzeigt und den Befehl RUECKGAENGIG: HYPERLINK anwaehlen. Um einzelne Hyperlinks auch zu einem spaeteren Zeitpunkt wieder in normalen Text umzuwandeln, klicken Sie die entsprechende Zelle mit der rechten Maustaste an und rufen das Kontextmenue HYPERLINK ENTFERNEN auf. Wenn Sie mehrere Hyperlinks in einer umfangreichen Tabelle entfernen moechten, ist diese Methode allerdings zu umstaendlich. Ein kleines Makro hilft weiter: Sub procHyperlinksLoeschen() Cells.Hyperlinks.Delete End Sub Geben Sie das Makro in ein beliebiges Modul ein und starten Sie es bei Bedarf ueber EXTRAS-MAKRO-MAKROS. Alle Hyperlinks der aktuellen Tabellen werden daraufhin in einem einzigen Arbeitsschritt entfernt. ++++++++++++++++ ANZEIGE ++++++++++++++++ Professionelle Geschaeftsgrafiken in TV-Qualitaet fuer Office 97, 2000, XP und 2003 ------------------------------------------------- Endlich professionelle Geschaeftsgrafiken in Ihren Excel- Tabellen, PowerPoint-Praesentationen und Word-Dokumenten! + Amigo 2000 ist eine leistungsfaehige Office-Erweiterung, die Ihnen mit minimalem Aufwand die Erstellung verblueffender Diagramme in perfekter Qualitaet ermoeglicht. + Per Mausklick wird das komplette Diagramm neu berechnet und erscheint dann in einem 3D-Look, den Sie sonst nur aus Zeitschriften oder den Fernsehnachrichten kennen. + Sie benoetigen keine spezielle 3D-Grafikkarte, sondern koennen das Programm auf jedem System nutzen, auf dem auch Office 97, 2000, XP oder 2003 im Einsatz sind. + Empfohlen von PC Professionell in Ausgabe August 2003 und c't in Ausgabe 2/2004 Ausfuehrliche Informationen und viele Beispiele finden Sie unter: http://www.add-in-world.com/katalog/amigo2000/ +++++++++++++++++++++++++++++++++++++++++ QUICKTIPP: Schriftgroesse fuer Blattregister festlegen ------------------------------------------------------ Versionen: Excel 97, 2000, 2002/XP und 2003 Viele Anwender wuenschen sich eine groessere Schrift die fuer die Blattregister in Excel, aber eine entsprechende Option suchen Sie leider vergeblich. Der Grund: Excel passt die Schriftgroesse in den Registern automatisch an die aktuelle Groesse der Bildlaufleisten unter Windows an. Um die Register besser lesen zu koennen gibt es daher einen einfachen Trick: 1. Minimieren Sie Excel und klicken Sie mit der rechten Maustaste auf den Windows-Desktop. 2. Waehlen Sie das Kontextmenue EIGENSCHAFTEN an und wechseln Sie auf die Registerkarte "Darstellung". 3. Klicken Sie auf ERWEITERT und markieren Sie in der Liste ELEMENT den Eintrag "Bildlaufleiste": 4. Legen Sie nun die gewuenschte Groesse im gleichnamigen Feld fest und bestaetigen Sie mit OK. Wenn Sie nun Excel wieder aufrufen, werden Sie feststellen, dass das Register wie gewuenscht vergroessert dargestellt wird. +++ EXCEL-HELPLINE +++ Haben Sie Fragen zu Excel 97, 2000, 2002/XP oder 2003? Dann wenden Sie sich mit einer genauen Problembeschreibung (bitte senden Sie keine Dateien!) an: mailto:excel-helpline@smarttools.de Unser Redaktionsteam waehlt in jeder Ausgabe Fragen aus und beantwortet sie an dieser Stelle im Newsletter. Diagramme automatisch bei Dateneingabe erweitern ------------------------------------------------ Versionen: Excel 97, 2000, 2002/XP und 2003 FRAGE: Ich habe aus einer Datentabelle ein Diagramm erstellt. Die Datentabelle wird aber laufend um neue Eintraege ergaenzt, die natuerlich auch in das Diagramm einfliessen sollen. Es ist ziemlich umstaendlich, die Datenquelle des Diagramms immer wieder so anzupassen, dass die neuen Zeilen der Datentabelle beruecksichtigt werden. Gibt es nicht eine einfachere Loesung, in der sich das Diagramm dynamisch an den Umfang der Datentabelle anpasst? J. Saggau ANTWORT: Dynamische Diagramme erhalten Sie, indem Sie den Spalten Ihrer Datentabelle dynamische Bereichsnamen zuweisen und diese Bereichsnamen anschliessend in die DATENREIHE- Formeln des Diagramms einfuegen. Im einfachsten Fall besteht Ihre Datentabelle aus zwei Spalten: die erste Spalte mit den X-Werten des Diagramms und die zweite Spalte mit den Y-Werten. Wenn die Spaltenueberschriften in Zeile 1 des Tabellenblatts stehen, beginnen die Daten dann zum Beispiel in A2 und B2. Nach unten sollen die Spaltenbereiche jeweils mit der letzten Eingabezelle in Spalte A bzw. B enden. Um aufgrund dieser Basis ein dynamisches Diagramm zu erstellen, gehen Sie wie folgt vor: 1. Geben Sie die ersten X- und Y-Werte Ihrer Datentabelle ein und erzeugen Sie daraus in der gewohnten Art und Weise (also mit festen Zellbezuegen) ein Diagramm - beispielsweise ein einfaches Liniendiagramm. 2. Kehren Sie zum Tabellenblatt mit der Datentabelle zurueck und rufen Sie EINFUEGEN-NAME(N) und dann in Excel 97 FESTLEGEN oder in Excel 2000, 2002, 2003 DEFINIEREN auf. 3. Geben Sie im Feld NAMEN IN DER ARBEITSMAPPE eine Bezeichnung fuer die erste Tabellenspalte Ihrer Datentabelle ein - etwa "Datumsangaben", "Kundennamen", "X_Werte" oder aehnlich. 4. Danach ueberschreiben Sie den Inhalt im Feld BEZIEHT SICH AUF. Anstelle der festen Zelladresse geben Sie eine Formel ein, die die Groesse des Spaltenbereichs dynamisch festlegt. Unterscheiden muessen Sie dabei zwischen Spalten mit Textwerten und Spalten mit Zahlen-/Datumswerten. Um einen Bereich mit Textwerten in Zelle A2 beginnen zu lassen und ihn bis Zeile 1000 beliebig nach unten erweiterbar zu machen, tragen Sie folgende Formel ein: =BEREICH.VERSCHIEBEN(Tabelle1!$A$2;0;0;VERGLEICH("#~~#"; Tabelle1!$A$2:$A$1000;-1);1) Um einen dynamischen Bereich fuer Zahlen-/Datumswerte zu definieren, setzen Sie folgende Formel ein: =BEREICH.VERSCHIEBEN(Tabelle1!$A$2;0;0;VERGLEICH( 1E+30;Tabelle1!$A$2:$A$1000);1) Falls Ihre Datentabelle groesser werden kann als 1000 Zeilen, veraendern Sie die Bereichsadresse in der VERGLEICH-Funktion entsprechend: statt "$A$2:$A$1000" beispielsweise "$A$2:$A$50000". 5. Klicken Sie auf HINZUFUEGEN, um den dynamischen Bereichsnamen zur angezeigten Liste hinzuzufuegen. 6. Wiederholen Sie die Schritte 3 bis 5 fuer alle Spalten der Datentabelle, die in das Diagramm einfliessen sollen. - Denken Sie daran, dass die Bereiche dann natuerlich nicht in A2, sondern zum Beispiel in B2, C2 usw. beginnen. 7. Sobald Sie alle dynamischen Spaltenbereiche definiert haben, bestaetigen Sie die Namen mit OK. 8. Aktivieren Sie nun das Diagramm, das Sie in Schritt 1 erstellt hatten. 9. Markieren Sie die (erste) Datenreihe per Mausklick. In einem Liniendiagramm wird daraufhin die Linie mit allen Datenpunkten markiert. 10. Beachten Sie die Bearbeitungsleiste unter den Menue- und Symbolleisten. Sie enthaelt eine DATENREIHE-Formel mit Bereichsadressen, die unter anderem auf die Herkunft der X-und Y-Werte verweisen. - Ersetzen Sie den zweiten Parameter der DATENREIHE-Funktion durch den dynamischen Bereichsnamen fuer die X-Werte (die erste Spalte der Datentabelle) und den dritten DATENREIHE-Parameter durch den dynamischen Bereichsnamen fuer die Y-Werte dieser Reihe. VORSICHT: Den Namen muessen Sie jeweils den Dateinamen der Arbeitsmappe sowie ein Ausrufezeichen voranstellen! Die Formel koennte danach zum Beispiel folgendermassen aussehen: =DATENREIHE(Tabelle1!$B$1;DynamischeDiagramme.xls! Datumswerte;DynamischeDiagramme.xls!Y_Werte;1) 11. Sollte Ihr Diagramm mehrere Datenreihen enthalten, wiederholen Sie die Formelaenderung fuer die restlichen Reihen. In Zukunft erweitert Excel Ihr Diagramm automatisch, sobald Sie neue Werte in die Datentabelle eingeben. +++++++++++++++ ANZEIGE +++++++++++++++++ NEUE VERSION: Personal-, Belegungs- und Zeitplaene in Access grafisch darstellen -------------------------------------------------- Hier ist die perfekte Erweiterung fuer alle Datenbanken, in denen Sie freie und gebuchte/belegte/vergebene Zeiten verwalten: Sie muessen in einer Tabelle lediglich Start- und Enddatumsangaben der einzelnen Vorgaenge verwalten und diese Loesung setzt Ihre Daten voll automatisch in ein uebersichtliches Balkendiagramm um. Mit wenig Aufwand integrieren Sie den Plan in Ihre eigenen Datenbanken, wobei eine Fuelle von Anwendungen denkbar ist: + Urlaubs- und Personalplanung + Belegung von Wohnungen oder Haeusern + Vermietung von Geraeten + Fahrzeuge eine Fuhrparks + Raumbelegung + Projekt- und Ressourcenplanung + u.v.m. Die neue Version 2.11 bietet unter anderem jetzt eine Druckfunktion, eine komfortable Feiertagsverwaltung sowie die Integration von Kuerzeln fuer noch aussagekraeftigere Darstellungen. SmartTools Publishing bietet Ihnen diese Loesung in einer komplett ungeschuetzten Entwicklerversion ohne jegliche Einschraenkungen an: http://www.add-in-world.com/katalog/ac-belegungsplan/ +++++++++++++++++++++++++++++++++++++++++ Parameter zwischen VBA-Prozeduren uebergeben -------------------------------------------- Versionen: Excel 97, 2000, 2002/XP und 2003 FRAGE: Ich habe zur Automatisierung verschiedener Aufgaben eine kleine VBA-Anwendung geschrieben. Dabei habe ich festgestellt, dass bestimmte Codeabschnitte mehrfach in der Hauptprozedur vorkommen. Praktisch waere es, Unterprozeduren einzurichten, die dann bei Bedarf aufgerufen werden. Dabei muessten allerdings Parameter uebergeben werden und an der Stelle komme ich nicht weiter. Koennen Sie mir erklaeren, wie ich Parameter zwischen Prozeduren austauschen kann? T. Rimmbach ANTWORT: Es gibt verschiedene Moeglichkeiten, Variablen von der einen Prozedur an eine andere zu uebergeben. Eine Moeglichkeit besteht darin, gleich in der Sub- Deklarationszeile eine Argumentliste anzugeben - etwa folgendermassen: Sub MeineProzedur(Argument1 As Integer) Wenn Sie diese Prozedur aus einer anderen heraus aufrufen, koennen Sie sofort den zu uebergebenden Wert anfuegen. Ein konkretes Beispiel folgt weiter unten. Die zweite Moeglichkeit besteht darin, auf Modulebene eine Variable zu deklarieren, auf die Sie aus verschiedenen Prozeduren zugreifen. Beachten Sie dabei nur, dass eine per "Dim" deklarierte Variable nur in dem jeweiligen Modul gueltig ist. Wenn Sie die Variable auch in anderen Modulen oder in UserForms benoetigen, muessen Sie die Variable per "Public" deklarieren. Auch das sehen Sie gleich. Das hier vorgestellte Beispiel fordert zur Eingabe eines Radius auf und berechnet dann Umfang und Flaeche des Kreises. Diese Ergebnisse ermittelt eine separate Prozedur. Geben Sie dazu folgende Zeilen in ein neues Modulblatt des Visual Basic-Editors ein: Dim A As Single Sub Kreisberechnung() Dim R As Single R = Application.InputBox(Prompt:="Radius eingeben:", _ Type:=1) Meldung R MsgBox "Wenn Sie durch Drehung eine Kugel bilden, " & _ "betraegt die Oberflaeche " & A * 2 & " ccm" End Sub Sub Meldung(Radius As Single) Dim Pi As Single Dim U As Single Pi = 3.1415927 U = 2 * Pi * Radius A = Pi * Radius ^ 2 MsgBox "Ein Kreis mit einem Radius von " & Radius & _ " cm " & vbCr & "hat einen Umfang von " & U & " cm" _ & vbCr & "und eine Flaeche von " & A & " ccm" End Sub Kernstueck ist die Prozedur "Kreisberechnung". Sie fragt per InputBox-Methode einen Radius ab. Da die Berechnung in der zweiten Prozedur "Meldung" erfolgen soll, muessen Sie den Radius irgendwie weitergeben. Das erreichen Sie durch das Argument in der Deklarationszeile der zweiten Prozedur. Von der Hauptprozedur erfolgt die Parameteruebergabe deshalb ganz einfach mit Meldung R Um auch die zweite Methode der Werteuebergabe zu demonstrieren, greift die Hauptprozedur anschliessend auf die Flaechenangabe "A" zurueck, die Sie in der zweiten Prozedur berechnet haben. Ein erneuter Aufruf mit Argumentliste scheidet aus, da Sie sich sonst quasi im Kreise drehen wuerden. Deshalb haben Sie gleich zu Beginn auf Modulebene die Variable "A" deklariert. Sie steht damit auch nach Beendigung der zweiten Prozedur zur Verfuegung. In der Hauptprozedur muessen Sie nur noch den Wert abrufen: "betraegt die Oberflaeche der Kugel " & A * 2 & " ccm" Wie bereits erwaehnt, funktioniert dieser Variableneinsatz nur so lange, wie Sie im aktuellen Modul arbeiten. Wenn Sie beispielsweise ein zweites Modul anlegen und die Hauptprozedur dorthin kopieren, erhalten Sie einen Kompilierungsfehler, da die Variable "A" im neuen Modul nicht deklariert ist. Um dennoch von jedem Modul oder aus jeder UserForm auf die Variable zugreifen zu koennen, deklarieren Sie sie nicht mit "Dim" sondern wie folgt: Public A As Single +++ NEWSLETTER-TIPP +++ Outlook-Tipps kostenlos per E-Mail ---------------------------------- SmartTools Outlook Weekly bietet jede Woche Tipps, aktuelle Infos und Download-Links fuer Outlook 98, 2000, 2002/XP und 2003: + Professionelle Tipps zum effektiveren Arbeiten + Undokumentierte Parameter + Fertige VBA-Prozeduren fuer neue Funktionen + Aktuelle Informationen ueber Sicherheitsluecken, Bugs und Patches + Download-Links zu Outlook-Erweiterungen + Helpline fuer Ihre Fragen zu Outlook Bestellen Sie jetzt Ihr kostenloses Abo: http://www.smarttools.de/newsletter/outlook-weekly.newsletter.php +++ ABONNEMENTVERWALTUNG +++ Um SmartTools Excel Weekly abzubestellen, senden Sie einfach das Kommando "unsubscribe" an die Adresse mailto:excel-weekly-text-request@smarttools.de Bitte beachten Sie, dass das Kommando im Nachrichtentext stehen muss (nicht im Betreff) und Sie keine Mail im HTML- Format senden duerfen. Weitere Informationen zur Verwaltung der Liste erhalten Sie mit dem Kommando "help" an dieselbe Adresse. ------------------------------------------------------ (c) 2004 by SmartTools Publishing Thomas Tai Luisenstrasse 52, 49565 Bramsche Telefon: 05461/9952-0, Fax: 05461/2609 E-Mail: mailto:excel-weekly@smarttools.de Internet: http://www.smarttools.de/