Von: excel-weekly-text-request@cgn.smarttools.de im Auftrag von SmartTools Publishing [excel-weekly-text-reply@smarttools.de] Gesendet: Dienstag, 28. Juni 2005 01:43 An: Excel Weekly Abonnenten Betreff: SmartTools Excel Weekly vom 28.6.2005 ----------------------------------------------------------- SmartTools Excel Weekly vom 28.6.2005 Jede Woche neu: Tipps, News und Problemloesungen rund um Microsoft Excel (c) 2005 by SmartTools Publishing ----------------------------------------------------------- +++ IN DIESER AUSGABE +++ EXCEL-NEWS & DOWNLOADS + SPOTLIGHT: Diagramme in TV-Qualitaet fuer Excel & PowerPoint + DOWNLOAD-TIPP: Die neue Version 2.0 des beliebten Taschenrechners fuer Excel + NEWS: Desktop-Suche von Microsoft in Deutsch verfuegbar EXCEL-TIPP DER WOCHE + Summe in Abhaengigkeit von einer Kriterienliste EXCEL-HELPLINE + Arbeitsmappe mit Lotus Notes aus Excel verschicken + So ermitteln Sie per VBA letzte Zeile einer Tabelle NEWSLETTER-TIPP + Word-Tipps kostenlos per E-Mail Abonnementverwaltung und Copyright +++ EXCEL-NEWS & DOWNLOADS +++ SPOTLIGHT: Diagramme in TV-Qualitaet fuer Excel & PowerPoint ------------------------------------------------------------ Endlich professionelle Geschaeftsgrafiken in Ihren Excel- Tabellen und PowerPoint-Praesentationen: Mit Amigo 2000 steht eine leistungsfaehige Erweiterung zur Verfuegung, die Ihnen mit minimalem Aufwand die Erstellung professioneller Diagramme in verblueffender Qualitaet ermoeglicht. Amigo 2000 wurde in der 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: Die neue Version 2.0 des beliebten Taschenrechners fuer Excel ------------------------------------------------------- Versionen: Excel 2003, 2002/XP, 2000 und 97 Mit dem SmartTools Taschenrechner koennen Sie kleine Berechnungen jederzeit schnell und ohne Umwege direkt in Excel vornehmen. Nach der automatischen Installation wird der Taschenrechner als Symbolleiste installiert und steht deshalb jederzeit zur Verfuegung. Sie muessen also kein Menue anwaehlen oder Symbol anklicken, bevor Sie mit Ihren Berechnungen anfangen koennen: den Taschenrechner verschieben Sie einfach an einen beliebigen Platz auf dem Bildschirm und er bleibt immer sichtbar, waehrend Sie wie gewohnt Ihre Texte bearbeiten. Ab sofort steht nun die brandneue Version 2.0 des SmartTools Taschenrechners zur Verfuegung. Die wichtigsten neuen Funktionen: + Neben Excel 97, 2000 und 2002/XP wird ab sofort auch Excel 2003 unterstuetzt. + Der Taschenrechner kann jetzt jederzeit per Mausklick ein- oder ausgeblendet werden. + Ueber einen neuen OPTIONEN-Dialog legen Sie fest, ob und wann der Taschenrechner automatisch eingeblendet werden soll. + Bisher konnten Sie den Taschenrechner nur mit der Maus bedienen. Ab sofort koennen Sie auch einen neuen Modus zur Eingabe von Zahlen und Berechnungen ueber die Tastatur aktivieren. + Das Layout des Taschenrechners kann nun an unterschiedliche Groessen der Systemschriften angepasst werden. Sie finden den kostenlosen Download unter: http://www.add-in-world.com/katalog/xl-calc/ NEWS: Desktop-Suche von Microsoft in Deutsch verfuegbar ------------------------------------------------------- In der Vergangenheit haben wir mehrfach ueber das kostenlose Programm zur Suche in Dateien und Outlook-Mails berichtet, das Microsoft zunaechst in einer englischen Version veroeffentlich hat. Ab sofort steht die so genannte Windows Desktopsuche zusammen mit der MSN-Toolbar auch in einer deutschen Uebersetzung zum Download bereit: http://desktop.msn.de/ Eine Uebersicht zu allen standardmaessig durchsuchten Dateitypen finden Sie unter: http://search.msn.de/docs/toolbar.aspx?t=MSNTbar_CONC_SearchableFileTypes.htm&v=02.00.00 Schliesslich koennen Sie auf der folgenden Seite noch zusaetzliche Filter fuer die Indizierung zusaetzlicher Dateiformate (zum Beispiel PDF und CHM) herunterladen: http://addins.msn.de/ +++ EXCEL-TIPP DER WOCHE +++ Summe in Abhaengigkeit von einer Kriterienliste ----------------------------------------------- Versionen: Excel 2003, 2002/XP, 2000 und 97 Nehmen wir an, dass Sie mit einer Excel-Datenbank arbeiten, in der unter anderem eine Kostenstellen-Nummer und die damit verbundenen monatlichen Ausgaben erfasst sind. Nun moechten Sie in einem anderen Tabellenblatt die Summe der Ausgaben fuer mehrere Kostenstellen ermitteln. Zu diesem Zweck koennten Sie die entsprechenden Kostenstellen-Nummern in einen Zellbereich eingeben und anschliessend versuchen, mit einer SUMMEWENN-Funktion die zugehoerigen Ausgaben zu summieren. Dabei muessen Sie dann allerdings feststellen, dass Excel als Kriterium der Tabellenfunktion nur eine einzelne Kostenstellen-Nummer akzeptiert. Um die Summe von mehreren Kriterien abhaengig zu machen, sollten Sie mit der Datenbankfunktion DBSUMME arbeiten. Damit die Funktion korrekte Resultate liefert, muessen Sie allerdings einen speziellen Kriterienbereich und einrichten. Und so gehen Sie Schritt fuer Schritt vor: 1. Angenommen, Ihre Datenbank befindet sich in "Tabelle1" im Bereich A1:F100. In der ersten Zeile stehen die Spaltenueberschriften. Wichtig sind im vorliegenden Fall die Ueberschriften fuer die Kostenstellen-Nummern und die monatlichen Ausgaben. Nehmen Sie fuer dieses Beispiel an, dass die Datenbankfelder mit "Kostenstelle" sowie "Monatsausgaben" ueberschrieben sind. 2. Wenn Sie die Ausgabensummen in "Tabelle2" derselben Arbeitsmappe berechnen wollen, muessen Sie in diesem Tabellenblatt zunaechst einen Kriterienbereich anlegen. Dazu tragen Sie die Spaltenueberschrift des Datenbankfeldes, das als Bedingung dienen soll, in eine Tabellenzelle ein. Geben Sie hier zum Beispiel "Kostenstelle" in Zelle A1 von "Tabelle2" ein. Achten Sie darauf, dass der Feldname/die Spaltenueberschrift exakt aus der Datenbank uebernommen wird. 3. Unter dem Feldnamen geben Sie die gewuenschten Kriterien ein. Hier muessen Sie also in A2 und darunter die Nummern aller Kostenstellen einfuegen, deren Monatsausgaben summiert werden sollen. Der Kriterienbereich koennte dann wie folgt aussehen: * A1: Kostenstelle * A2: Q30199 * A3: A88301 * A4: D41308 4. Die Summe der Monatsausgaben fuer genau diese Kostenstellen koennen Sie in einer beliebigen anderen Zelle von "Tabelle2" berechnen - beispielsweise in Zelle C2. Dazu tragen Sie in C2 folgende Formel ein: =DBSUMME(Tabelle1!A1:F100;"Monatsausgaben";Tabelle2!A1:A4) Die DBSUMME-Funktion erwartet als erstes Argument den Datenbankbereich (hier: "Tabelle1!A1:F100"). Als zweites Argument nennen Sie den Namen des Feldes, dessen Werte summiert werden sollen. Es handelt sich um einen Textwert in Anfuehrungszeichen (hier: ""Monatsausgaben""). Das dritte Argument bezeichnet den Kriterienbereich. Er umfasst die Kriterien UND die Spaltenueberschrift, die Sie aus der Datenbank uebernommen hatten. Ausserdem muss er genau auf die Kriterienliste begrenzt sein und darf keine leeren Zellen enthalten. Im Beispiel ist es der Bereich "Tabelle2!A1:A4". Das Formelergebnis ist die Summe der Monatsausgaben, die den Kostenstellen des Kriterienbereichs zugeordnet sind. ++++++++++++++++ ANZEIGE ++++++++++++++++ PDF-Dateien direkt in Word und Excel oeffnen -------------------------------------------- Der PDFgrabber 2.0 wandelt PDF-Dateien in Word- oder Excel- Dateien um, so dass Sie sie bearbeiten oder in Ihren eigenen Texten und Kalkulationsmodellen verwenden koennen. Mit der neuen Version 2.0 des bewaehrten PDFgrabber wurde die Ausgabequalitaet noch einmal optimiert und ein Menuepunkt zum Oeffnen von PDF-Dateien direkt in Word und Excel integriert. Fuer die Umwandlung von PDF-Dokumenten mit dem PDFgrabber 2.0 brauchen Sie nur 3 Schritte: 1. Starten Sie den PDFgrabber ueber das START-Menue oder direkt aus Word bzw. Excel ueber das neu installierte Menue PDF-DATEI OEFFNEN. 2. Waehlen Sie ein PDF-Dokument aus und legen Sie das gewuenschte Format (Word, Excel, Text, XML) fest. 3. Ein Mausklick startet die Umwandlung, die voll automatisch ablaeuft. Am Ende steht Ihnen das Word- Dokument oder die Excel-Arbeitsmappe zur direkten Bearbeitung zur Verfuegung. Weitere Informationen finden Sie unter: PDFgrabber 2.0 - Standard fuer Privatanwender http://www.add-in-world.com/katalog/pdfgrabber-std/ PDFgrabber 2.0 - Professional fuer professionelle Anwender http://www.add-in-world.com/katalog/pdfgrabber-pro/ +++++++++++++++++++++++++++++++++++++++++ +++ EXCEL-HELPLINE +++ Haben Sie Fragen zu Excel 2003, 2002/XP, 2000 und 97? 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. Arbeitsmappe mit Lotus Notes aus Excel verschicken -------------------------------------------------- Versionen: Excel 2003, 2002/XP, 2000 und 97 FRAGE: Ich moechte aus Excel heraus eine E-Mail ueber das Untermenue SENDEN AN verschicken. Wenn ich DATEI anwaehle, ist das Untermenue SENDEN AN aber inaktiv. Ich vermute, dass dies darauf zurueckzufuehren ist, dass ich Lotus Notes einsetze. Es kann doch nicht sein, dass die E-Mail- Funktionen in Excel nur dann verfuegbar sind, wenn ich Microsoft Outlook als E-Mail-Programm einsetze. Oder etwa doch? S. Mertineit ANTWORT: Excel, wie uebrigens alle Anwendungen aus dem Microsoft Office-Paket, benoetigen ein MAPI-faehiges E-Mail- Programm, um Dateien direkt ueber die Befehle im Untermenue SENDEN AN verschicken zu koennen. Diese Voraussetzung bringt Outlook als Bestandteil von MS Office natuerlich mit. Aber auch Lotus Notes bietet normalerweise die erforderliche MAPI-Funktionalitaet. Warum Ihnen die Mail-Befehle in Excel dennoch nicht zur Verfuegung stehen, kann verschiedene Ursachen haben. Pruefen Sie zum Beispiel, ob Lotus Notes als Standard-E- Mail-Programm in den Internetoptionen eingetragen ist. Dazu starten Sie den Internet Explorer und waehlen EXTRAS- INTERNETOPTIONEN an. Dann wechseln Sie auf die Registerkarte PROGRAMME und stellen im Dropdown-Feld E-MAIL den Lotus Mail-Client ein. Zur Bestaetigung klicken Sie auf OK. Falls Lotus Notes in der Dropdown-Liste nicht vorhanden ist, muessen Sie womoeglich erst Microsoft Outlook vollstaendig installieren. Beachten Sie, dass Outlook nach der allgemeinen Office-Installation noch nicht fuer den E-Mail- Versand eingerichtet ist, sodass die MAPI-Komponenten unter Umstaenden nicht richtig im System integriert sind. Dies passiert erst beim ersten Programmstart von Outlook. Ein Assistent fuehrt Sie durch die weiteren Schritte. Konfigurieren Sie einfach ein provisorisches E-Mail-Profil. Versuchen Sie danach noch einmal, Lotus Notes als Standard- E-Mail-Programm in den Internetoptionen einzustellen. Gerade fuer Excel/Office 2003 wird haeufig ein Eingriff in die Windows-Registry empfohlen, um die Mail-Funktionen in Verbindung mit Lotus Notes einsetzen zu koennen. Dazu oeffnen Sie den Registrierungs-Editor, indem Sie im Windows- Startmenue den Befehl AUSFUEHREN anwaehlen, "regedit" in die Kommandozeile eingeben und mit OK bestaetigen. In der linken Haelfte des Registrierungseditors oeffnen Sie den Schluesselzweig HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem Schauen Sie dann, ob in der rechten Fensterhaelfte folgende Eintraege und Werte vorhanden sind (Eintragsnamen links vom Gleichheitszeichen, Werte rechts davon): MAPI = 1 CMCDLLNAME = mapi.dll CMC = 1 MAPIX = 1 MAPIXVER = 1.0.0.1 CMCDLLNAME32 = mapi32.dll OLEMessaging = 1 Aendern oder ergaenzen Sie die Eintraege entsprechend. Es handelt sich durchweg um Zeichenfolge-Werte. ++++++++++++++++ ANZEIGE ++++++++++++++++ Doppelte Adressen, Aufgaben, Mails und Termine in Outlook automatisch finden und loeschen ---------------------------------------------- Der bewaehrte OLXDuplicateChecker kann jetzt noch mehr! Ab sofort finden und entfernen Sie nicht nur doppelte Adressen, sondern auch beliebige andere Duplikate aus anderen Ordnern in Outlook oder auf dem Exchange Server. Mit wenigen Mausklicks finden Sie: + doppelte E-Mail + doppelte Aufgaben + doppelte Termine + doppelte Journal-Eintraege + und natuerlich doppelte Adressen Mit dem OLXDuplicateChecker koennen Sie all diese Duplikate innerhalb weniger Sekunden ausfindig machen und loeschen. Den OLXDuplicateChecker gibt es in einer Einzelplatzversion zum Loeschen von Duplikaten aus Ihrer persoenlichen Ordnerdatei (PST): http://www.add-in-world.com/katalog/olxduplicatepst/ ..und in einer Serverversion, wenn Sie Duplikate aus Ordnern auf dem Exchange-Server entfernen moechten: http://www.add-in-world.com/katalog/olxduplicatesvr/ +++++++++++++++++++++++++++++++++++++++++ So ermitteln Sie per VBA letzte Zeile einer Tabelle --------------------------------------------------- Versionen: Excel 2003, 2002/XP, 2000 und 97 FRAGE: Ich habe ein Makro aufgezeichnet, um auf Knopfdruck Daten aus der letzten Zeile meiner Tabelle in die darunter liegende Zeile zu kopieren. Nun stehe ich vor dem Problem, dass das Makro immer dieselbe Zeile fuer den Kopiervorgang auswaehlt und den zunehmenden Umfang der Tabelle nicht beruecksichtigt. Im Programmcode des Makros habe ich folgende Zeile entdeckt, die offensichtlich nur genau die Zeile markiert, die ich waehrend der Aufzeichnung ausgewaehlt hatte: Rows("158:158").Select Was muss ich tun, damit der VBA-Code dynamisch auf die jeweils letzte Tabellenzeile zugreift? B. Volkerts ANTWORT: Abhilfe schaffen die im Anschluss vorgestellten Funktionen, die Sie im VBA-Modul direkt unter die von Ihnen aufgezeichnete Prozedur kopieren koennen. Da Sie als Funktionsergebnis ein Range-Objekt erhalten, koennen Sie die Funktionen problemlos anstelle des statischen Zeilenbezugs Rows("158:158") in Ihrem Makro einsetzen. Unterschieden werden folgende Funktionen: a) fuer die letzte Zeile eines zusammenhaengenden Bereichs: Function LetzteZeile _ (objSheet As Worksheet, _ strStartCell As String) As Range Dim objRange As Range Dim lngLastRow As Long Dim lngLastCol As Long Set objRange = objSheet _ .Range(strStartCell).CurrentRegion lngLastRow = objRange.Row + _ objRange.Rows.Count - 1 lngLastCol = objRange.Column + _ objRange.Columns.Count - 1 With objSheet Set LetzteZeile = .Range _ (.Cells(lngLastRow, objRange.Column), _ .Cells(lngLastRow, lngLastCol)) End With End Function b) fuer die letzte Spalte eines zusammenhaengenden Bereichs: Function LetzteSpalte _ (objSheet As Worksheet, _ strStartCell As String) As Range Dim objRange As Range Dim lngLastCol As Long Dim lngLastRow As Long Set objRange = objSheet _ .Range(strStartCell).CurrentRegion lngLastCol = objRange.Column + _ objRange.Columns.Count - 1 lngLastRow = objRange.Row + _ objRange.Rows.Count - 1 With objSheet Set LetzteSpalte = .Range _ (.Cells(objRange.Row, lngLastCol), _ .Cells(lngLastRow, lngLastCol)) End With End Function c) fuer die letzte benutzte Zeile eines Tabellenblatts: Function AbsLetzteZeile _ (objSheet As Worksheet) As Range Dim objLastCell As Range Dim lngLastRow As Long Set objLastCell = objSheet _ .Cells.SpecialCells(xlCellTypeLastCell) lngLastRow = objLastCell.Row Set AbsLetzteZeile = objSheet _ .Rows(lngLastRow).EntireRow End Function d) fuer die letzte benutzte Spalte eines Tabellenblatts: Function AbsLetzteSpalte _ (objSheet As Worksheet) As Range Dim objLastCell As Range Dim lngLastCol As Long Set objLastCell = objSheet _ .Cells.SpecialCells(xlCellTypeLastCell) lngLastCol = objLastCell.Column Set AbsLetzteSpalte = objSheet _ .Columns(lngLastCol).EntireColumn End Function Da es bei einem zusammenhaengenden Bereich vorkommen kann, dass sich rechts daneben oder darunter im Tabellenblatt noch weitere Daten befinden, liefern die entsprechenden Funktionen nur die letzten Zellen aus dem zusammenhaengenden Bereich. Dagegen erhalten Sie mit den Funktionen "AbsLetzteZeile" und "AbsLetzteSpalte" einen Bezug auf die komplette letzte Zeile/Spalte, die Sie in dem Tabellenblatt genutzt haben. Nun zur Anwendung der Funktionen: Wie Sie in Ihrer Frage geschildert haben, markiert das von Ihnen aufgezeichnete Makro an einer Stelle die Zeile 158: Rows("158:158").Select Bei "Rows("158:158")" handelt es sich um ein Range-Objekt, das sich aufgrund der Zeilenangabe auf die gesamte Tabellenzeile 158 bezieht. Mit den oben genannten Funktionen erhalten Sie ebenfalls ein Range-Objekt, das Sie dann auch mit der "Select"-Anweisung markieren koennen. Sie muessen nur die passenden Funktionsargumente angeben. Die Funktionen fuer zusammenhaengende Bereiche erwarten die Angabe des Worksheet-Objekts (= des Tabellenblatts), in dem die letzten Zeilen/Spalten gesucht werden sollen, sowie die Adresse einer Zelle in dem zusammenhaengenden Bereich. Wenn Sie zum Beispiel eine Datenbank im Bereich A3:E100 eines Tabellenblatts mit dem Namen "Datenblatt" angelegt haben und die letzte Zeile dieses Bereichs markieren wollen, schreiben Sie folgende Anweisung in Ihren VBA-Code: LetzteZeile(Sheets("Datenblatt"), "A3").Select Beachten Sie nur, dass das Tabellenblatt vor Ausfuehrung der Select-Anweisung aktiviert sein muss. Oft werden Sie anstelle von "Sheets("")" einfach nur mit "ActiveSheet" arbeiten. Bei den Funktionen zur Ausgabe der letzten benutzten Zeile/Spalte muessen Sie als Argument nur das Sheet-Objekt uebergeben - etwa so: AbsLetzteSpalte(ActiveSheet).Select Tipp: Da Sie neue Daten meist in die Zeile/Spalte unter bzw. rechts neben dem Bereichsende eingeben wollen, brauchen Sie haeufig einen Bezug auf diese neue Zeile/Spalte. Auch dabei sind die obigen Funktionen hilfreich. Nutzen Sie sie einfach in Verbindung mit der "Offset"-Eigenschaft. Zur Markierung der naechsten Zeile unter dem aktuellen zusammenhaengenden Bereich geben Sie folgenden VBA-Code ein: LetzteZeile(ActiveSheet, "A3").Offset(1, 0).Select +++ 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) 2005 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/