Von: excel-weekly-text-request@cgn.smarttools.de im Auftrag von SmartTools Publishing [excel-weekly-text-reply@smarttools.de] Gesendet: Dienstag, 12. Oktober 2004 02:23 An: Excel Weekly Abonnenten Betreff: SmartTools Excel Weekly vom 12.10.2004 ----------------------------------------------------------- SmartTools Excel Weekly vom 12.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: Endlich professionelle Diagramme fuer Excel & Co. + DOWNLOAD-TIPP: Kostenloser Finanzplan fuer Excel + TECHINFO: XML-Dateien per VBA verarbeiten mit Excel 2003 EXCEL-TIPP DER WOCHE + Schaltflaechen-Ereignisse einfacher abfangen EXCEL-HELPLINE + Koordinaten eines Maximal-/Minimalwertes in einer Matrix ermitteln + Automatische Formelberechnung funktioniert nicht mehr NEWSLETTER-TIPP + Word-Tipps kostenlos per E-Mail Abonnementverwaltung und Copyright +++ EXCEL-NEWS & DOWNLOADS +++ SPOTLIGHT: Endlich professionelle Diagramme fuer Excel & Co. ------------------------------------------------------------ Amigo 2000, eine der erfolgreichsten Excel-Erweiterungen, steht ab sofort in einer neuen Version zur Verfuegung, die neben Office 97, 2000 und XP jetzt auch ganz neu die Version 2003 unterstuetzt. Amigo 2000 wurde ausserdem in der aktuellen Ausgabe 3/2004 der Fachzeitschrift "c't" getestet und fuer gut befunden. In dem Artikel, in dem verschiedene Office-Erweiterungen vorgestellt wurden, heisst es unter anderem: "Mit Amigo 2000 gibt es jedoch eine Moeglichkeit, auch Excel-Zahlen in sehenswerte Diagramme zu ueberfuehren, die man sonst in Hochglanzmagazinen oder TV-Wahlanalysen sieht." Der Schluessel dabei ist die integrierte "Rendering- Funktion". Per Mausklick wird das komplette Diagramm neu berechnet und erscheint dann in einem raffinierten 3D-Look. Dabei benoetigen Sie keine spezielle 3D-Grafikkarte, sondern koennen das Programm auf jedem System nutzen, auf dem auch Office 97, 2000, XP oder 2003 im Einsatz sind. Weitere Informationen und viele Beispiele finden Sie unter: http://www.add-in-world.com/katalog/amigo2000/ DOWNLOAD-TIPP: Kostenloser Finanzplan fuer Excel ------------------------------------------------ Vermeiden Sie unangenehme Ueberraschungen bei der Planung Ihrer privaten Finanzen. Ueberpruefen Sie Ihre regelmaessigen Einnahmen, Ausgaben, Guthaben und Zahlungsverpflichtungen. Jeweils das ganze Jahr auf einen Blick. Sie sehen sofort, welche Betraege Sie erwarten und welche Zahlungen anfallen. In der Arbeitsmappe SmartTools Finanzplan koennen Sie alle wichtigen Daten fuer Ihre private Finanzplanung in uebersichtlichen Tabellen erfassen. Voll automatisch entstehen Sie dabei Auswertungen und Diagramme, die Sie bei der Analyse Ihrer privaten Finanzen unterstuetzen: http://www.add-in-world.com/katalog/finanzplan/ TECHINFO: XML-Dateien per VBA verarbeiten mit Excel 2003 -------------------------------------------------------- Immer mehr Informationen stehen inzwischen im XML-Format zur Verfuegung. Wenn Sie die Verarbeitung von XML-Dateien per VBA automatisieren moechten, stehen Ihnen dazu in Excel 2003 eine Reihe von neuen Objekten, Methoden und Eigenschaften zur Verfuegung. Eine ausfuehrliche Techinfo im MSDN widmet sich speziell dieser Thematik: http://msdn.microsoft.com/office/understanding/excel/default.aspx?pull=/library/en-us/odc_xl2003_ta/html/odc_xlxmlom.asp Auf ueber 30 Seiten finden Sie nicht nur eine Dokumentation der Erweiterungen des Objektmodells rund um XML, sondern auch zahlreiche praxisorientierte Beispielroutinen, die Sie fuer Ihre eigenen Zwecke anpassen koennen. +++ EXCEL-TIPP DER WOCHE +++ Schaltflaechen-Ereignisse einfacher abfangen -------------------------------------------- Versionen: Excel 97, 2000, 2002/XP und 2003 Wenn Sie schon einmal eine UserForm in Excel entworfen und den entsprechenden VBA-Code dazu geschrieben haben, dann kennen Sie das Prinzip: Fuer jedes Steuerelement benoetigen Sie eine Prozedur, die ausgefuehrt wird, sobald ein bestimmtes Ereignis, wie das Anklicken einer Schaltflaeche ausgeloest wird. In einigen Situationen waere es allerdings effizienter, wenn Sie die Ereignisse gleich fuer mehrere Steuerelemente mit einer einzigen Prozeduren abfangen koennten. Fuer Schaltflaechen ist das allerdings nicht moeglich: Sie muessen fuer jede Schaltflaeche eine entsprechende "Click"-Prozedur erstellen. Von hier aus koennen Sie dann beispielsweise einen zentralen "Handler" jeweils mit einem entsprechenden Parameter aufrufen, aber bei Aenderungen muessen Sie dennoch jede einzelne Prozedur bearbeiten. Im Folgenden moechten wir Ihnen eine Technik vorstellen, die dieses Problem loest. Das Prinzip dabei: 1. Im ersten Schritt legen wir eine neue Klasse an, in dem ein einzelnes "Click-Ereignis" fuer mehrere Schaltflaechen definiert wird. 2. Vor dem Aufruf des gewuenschten Dialogfelds definieren wir die einzelnen Schaltflaechen als Elemente der neuen Klasse. 3. Wird die UserForm nun aufgerufen und eine Schaltflaeche angeklickt, fuehrt Excel das "Click"-Eregnis der selbst definierten Klasse aus. Damit diese Technik funktioniert, fuegen Sie zunaechst einmal ein neues Klassenmodul "clsButtonHandler" in das VBA- Projekt der entsprechenden Arbeitsmappe ein: Public WithEvents btnHandler As CommandButton Private Sub btnHandler_Click() Select Case btnHandler.Name Case "CommandButton1" MsgBox "Schaltflaeche 1" Case "CommandButton2" MsgBox "Schaltflaeche 2" Case "Schaltflaeche 3" MsgBox "Fall3" End Select End Sub In diesem Code muessen Sie "CommandButtonx" natuerlich jeweils durch die Namen der Schaltflaechen ersetzen, auf die Sie in Ihrer UserForm reagieren moechten. An die Stelle von "MsgBox" setzen Sie dann die entsprechenden Anweisungen, die ausgefuehrt werden sollen. Bei der UserForm selber muessen Sie darauf achten, dass es mindestens eine Schaltflaeche gibt, die nicht zu der neuen Klasse hinzugefuegt wird, sondern die ueber eine eigene VBA- Prozedur zum Verlassen der UserForm verfuegt. Fuer unser Beispiel weisen wir dieser Schaltflaeche den Namen "btnOk" zu und legen das "Click"-Ereignis wie folgt fest: Private Sub btnOk_Click() Unload Me End Sub Schliesslich benoetigen Sie noch ein VBA-Modul, das die Zuweisung der Schaltflaechen zu der neuen Klasse erledigt und die UserForm aufruft: Option Explicit Dim UserFormSchaltflaechen() As New clsBtnHandler Sub procTestDialogAnzeigen() Dim intBtnAnzahl As Integer Dim Steuerelement As Control intBtnAnzahl = 0 For Each Steuerelement In frmSchaltflaechenTest.Controls If TypeName(Steuerelement) = "CommandButton" Then If Steuerelement.Name = "btnOk" Then _ GoTo Schleifenende intBtnAnzahl = intBtnAnzahl + 1 ReDim Preserve UserFormSchaltflaechen(1 To _ intBtnAnzahl) Set UserFormSchaltflaechen( _ intBtnAnzahl).btnHandler = Steuerelement End If Schleifenende: Next Steuerelement frmSchaltflaechenTest.Show End Sub Die Prozedur durchlaeuft beim Start saemtliche Steuerelemente der angegebenen UserForm und fuegt alle Elemente des Typs "CommandButton" der neuen Klasse hinzu. Eine entsprechende If-Verzweigung sorgt dafuer, dass lediglich die Schaltflaeche "btnOk" davon ausgenommen wird. ++++++++++++++++ ANZEIGE ++++++++++++++++ Laufende Nummern fuer Rechungen, Lieferscheine, Angebote usw. komfortabel in Excel & Word einfuegen --------------------------------------------------- Sie schreiben Rechnungen, Lieferscheine, Angebote und aehnliche Dokumente mit Excel oder Word und brauchen jetzt eine laufende Nummer fuer jedes neue Dokument? Mit dem SmartTools Rechnungsnummern-Assistenten koennen Sie Ihre Rechnungen wie bisher mit Excel oder Word schreiben. Die laufende Nummer rufen Sie jederzeit mit zwei Mausklicks ab und fuegen Sie ganz einfach an der aktuellen Cursorposition ein: + Es sind keinerlei Aenderungen oder spezielle Anpassungen in Ihren vorhandenen Formularen notwendig. + Der Assistent merkt sich automatisch die letzte vergebene Nummer und fuegt die naechste Nummer automatisch an jede gewuenschte Position in Ihrer Excel-Arbeitsmappe oder Ihrem Word-Dokument ein. + Das Format der Rechnungsnummern koennen Sie frei bestimmen. Auch Kombinationen mit Datumsangaben wie Monat und Jahr sind ohne Probleme moeglich. + Sie haben jederzeit die volle Kontrolle ueber die Nummern, denn Sie bestimmen sowohl den Startwert, als auch die Schrittweite und koennen mit einem Mausklick die letzte Nummer loeschen, wenn beispielsweise eine Rechnung aus Versehen ausgestellt wurde. + Sie koennen den Assistenten nicht nur fuer Rechnungsnummern nutzen: Mit wenig Aufwand legen Sie bis zu 50 weitere Nummernkreise fuer Lieferscheine, Angebote, Gutschriften, Zertifikate usw. an + Eine Netzwerkversion ermoeglicht sogar die Vergabe eindeutiger Nummern bei mehreren Anwendern. Der SmartTools Rechnungsnummern-Assistent kann zur Zeit mit 25% Rabatt auf den Listenpreis bestellt werden: SmartTools Rechnungsnummern-Assistent fuer Excel: http://www.add-in-world.com/katalog/xl-rgnummer/ SmartTools Rechnungsnummern-Assistent fuer Word: http://www.add-in-world.com/katalog/word-rgnummer/ +++++++++++++++++++++++++++++++++++++++++ +++ 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. Koordinaten eines Maximal-/Minimalwertes in einer Matrix ermitteln ---------------------------------------- Versionen: Excel 97, 2000, 2002/XP und 2003 FRAGE: Ich stehe vor folgendem Problem: In einer Matrix, die am oberen und linken Rand Zeilen- respektive Spaltenueberschriften besitzt, suche ich den kleinsten und den groessten Wert. Das funktioniert mit MIN- und MAX- Funktionen reibungslos. Nun moechte ich aber in einer Ergebniszelle die Zeilen- und Spaltenueberschriften zum Minimal-/Maximalwert ausgeben lassen. Haben Sie einen entsprechenden Tipp? S. Runge ANTWORT: Ausgangspunkt Ihrer Berechnungen ist anscheinend eine Matrix, die etwa wie das folgende Beispiel aufgebaut ist: Spalte A A2: Januar A3: Februar A4: Maerz A5: April Spalte B B1: Nord B2: 1265 B3: 29051 B4: 25458 B5: 4656 Spalte C C1: Sued C2: 31716 C3: 29051 C4: 25458 C5: 4656 Spalte D D1: Ost D2: 38831 D3: 13713 D4: 41797 D5: 34871 Spalte E E1: West E2: 17246 E3: 500 E4: 32063 E5: 28397 Nun wollen Sie herausfinden, an welchem Schnittpunkt der kleinste bzw. der groesste Wert steht. In dem Beispiel ist der kleinste Wert "500" und er steht am Schnittpunkt "Februar West". Der groesste Wert betraegt hier "41797", er befindet sich am Schnittpunkt "Maerz Ost". Wenn dies die gewuenschten Ergebnisse sind, koennen Sie Matrixformeln einsetzen, um die jeweiligen Schnittpunkte von Excel berechnen zu lassen. Fuer den Minimalwert geben Sie folgende Formel in eine leere Tabellenzelle ein: =INDEX(A1:E5;MAX(ISTZAHL(SUCHEN(MIN(A1:E5);A1:E5)) *ZEILE(A1:E5))-ZEILE(A1)+1;1)&" "&INDEX(A1:E5;1;MAX(ISTZAHL(SUCHEN(MIN(A1:E5);A1:E5)) *SPALTE(A1:E5))-SPALTE(A1)+1) Achtung! Schliessen Sie die Formeleingabe mit Strg+Umschalt+Return ab, damit Excel Ihre Eingabe als Matrixformel interpretiert. In der Bearbeitungszeile wird die Formel automatisch von geschweiften Klammern umgeben. Wenn Sie die Formel in Ihrem Tabellenmodell einsetzen wollen, muessen Sie die Bereichsangabe "A1:E5" an den Adressbereich Ihrer Matrix anpassen. Und anstelle von Zelle A1 (in den Funktionen ZEILE und SPALTE) verwenden Sie die Adresse der oberen linken Eckzelle Ihrer Matrix. Den Schnittpunkt des Maximalwertes errechnen Sie mit einer ganz aehnlichen Formel, die Sie ebenfalls mit Strg+Umschalt+Return als Matrixformel eingeben: =INDEX(A1:E5;MAX(ISTZAHL(SUCHEN(MAX(A1:E5);A1:E5)) *ZEILE(A1:E5))-ZEILE(A1)+1;1)&" "&INDEX(A1:E5;1;MAX(ISTZAHL(SUCHEN(MAX(A1:E5);A1:E5)) *SPALTE(A1:E5))-SPALTE(A1)+1) Im Gegensatz zur ersten Formel setzen Sie hier nur die MAX- anstelle der MIN-Funktion ein, um einen Wert innerhalb der Matrix zu suchen. ++++++++++++++++ ANZEIGE ++++++++++++++++ Kalender, Kontakte und E-Mails ganz einfach im Team nutzen ---------------------------------------------------------- Mit OLXTeamOutlook, der neuesten Generation intelligenter Team-Software fuer Outlook 97, 98, 2000, 2002/XP und 2003 nutzen Sie Ihre Outlook-Daten in Zukunft noch effizienter: + Nutzen Sie ab sofort Ihre Termine, Aufgaben, Kontakte, E- Mails und Notizen aus Outlook gemeinsam mit anderen Anwendern im Netzwerk. + Richten Sie mit wenigen Mausklicks oeffentliche Ordner fuer Gruppentermine, Raumbelegungen, gemeinsamen Firmenadressen usw. ein oder geben Sie einen oder mehrere Ihrer persoenlichen Ordner mit Terminen, Kontakten, E-Mails etc. fuer andere Anwender frei. + Alle Aenderungen und Neueingaben in den gemeinsamen Ordnern sind immer sofort ohne Verzoegerung in den Ordnern der anderen Teilnehmer sichtbar. + Im nuetzlichen Gruppenkalender sehen Sie jederzeit die Termine aller freigegebenen Kalender im Wochenueberblick. + Sie benoetigen keinen Exchange-Server, sondern lediglich ein freigegebenes Verzeichnis im Netzwerk, auf das alle beteiligten Anwender zugreifen koennen. Dieses Verzeichnis muss sich noch nicht einmal auf einem Server befinden! Jeder beliebige Rechner in Ihrem Netzwerk kann diese Aufgabe uebernehmen + Der Datenabgleich mit PDA's und Handy's ist weiterhin ohne Probleme moeglich. OLXTeamOutlook ist komplett in Outlook integriert. Unterstuetzt werden alle Versionen. Also: Outlook 97, 98, 2000, 2002/XP und 2003. Sie koennen innerhalb eines Netzwerkes auf Wunsch sogar unterschiedliche Outlook- Versionen nutzen! Weitere Informationen zu dieser brandneuen Outlook- Erweiterung finden Sie unter: http://www.add-in-world.com/katalog/olxteamoutlook/ +++++++++++++++++++++++++++++++++++++++++ Automatische Formelberechnung funktioniert nicht mehr ----------------------------------------------------- Versionen: Excel 97, 2000, 2002/XP und 2003 FRAGE: Seit einiger Zeit werden die Formeln in meinen Tabellen nicht mehr automatisch berechnet. Ich muss jedes Mal F9 druecken, um die Ergebnisse zu aktualisieren. Wie kann ich das urspruengliche Verhalten wiederherstellen? N. Meisterjahn ANTWORT: Ob Excel Formeln automatisch oder nur auf Tastendruck berechnet, regeln Sie normalerweise ueber die Programmoptionen. Rufen Sie dazu EXTRAS-OPTIONEN auf und wechseln Sie dann auf die Registerkarte BERECHNEN (Excel 97) bzw. BERECHNUNG. Dort schalten Sie die Option AUTOMATISCH ein. Nach einem Klick auf OK sollte die Neuberechnung Ihrer Formeln wieder automatisch erfolgen. Falls das Problem weiter besteht, sollten Sie ueberpruefen, ob Sie eine "Persoenliche Makroarbeitsmappe" angelegt haben und ob in dieser Datei womoeglich die automatische Berechnung deaktiviert ist. Dazu schliessen Sie alle Arbeitsmappen, bis Excel nur noch ein leeres graues Fenster anzeigt. Dann versuchen Sie, den Befehl Fenster-Einblenden aufzurufen. Falls der Befehl verfuegbar ist, sehen Sie danach ein Dialogfenster mit den unsichtbar geoeffneten Arbeitsmappen. Doppelklicken Sie auf den Namen PERSONL.XLS. Anschliessend stellen Sie - wie oben beschrieben - per EXTRAS-OPTIONEN die automatische Berechnung ein. Danach blenden Sie die "Persoenliche Makroarbeitsmappe" wieder aus, indem Sie FENSTER-AUSBLENDEN anwaehlen. Beim Beenden von Excel muessen Sie dann die Frage, ob die Aenderungen an Ihrer Makroarbeitsmappe gespeichert werden sollen mit JA bestaetigen. Wenn Sie keine PERSONL.XLS-Datei besitzen oder wenn das Problem nach den letzten Schritten immer noch nicht behoben ist, kann es auch an Add-Ins liegen, die die automatische Neuberechnung per Programmcode ausschalten. Deaktivieren Sie dann per EXTRAS-ADD-IN-MANAGER bzw. EXTRAS-ADD-INS nach und nach alle Add-Ins und pruefen Sie nach einem Neustart von Excel, ob das Problem immer noch auftritt. Wenn es tatsaechlich auf ein Add-In zurueckzufuehren ist, muessen Sie gegebenenfalls auf den Einsatz des Fehler verursachenden Tools verzichten. +++ NEWSLETTER-TIPP +++ Word-Tipps kostenlos per E-Mail ------------------------------- SmartTools Word Weekly ist unser erfolgreicher E-Mail- Newsletter, der Ihnen jede Woche kostenlose Tipps rund um Word 97, 2000, 2002/XP und 2003 liefert: + Undokumentierte Parameter und Funktionen + Berichte ueber Bugs, Patches und Sicherheitsluecken + Fertige Makros zur Automatisierung haeufiger Arbeitsvorgaenge + Perfekte Datensicherung Ihrer Dokumente + So nutzen Sie Word im Netzwerk + Helpline fuer Ihre Fragen zu Word Bestellen Sie jetzt Ihr kostenloses Abo: http://www.smarttools.de/newsletter/word-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/