Per VBA-Makro eine Email mit Outlook versenden

Sie möchten einen Bericht aus einer Exceltabelle erstellen und anschließend per Email versenden? Auch der Versand einer kompletten Exceldatei oder eines bestimmten Tabellenblatts ist relativ einfach mit VBA realisierbar. Mit dem nachfolgenden Musterbeispiel zeige ich Ihnen wie Sie mit Hilfe eines VBA-Codes eine Email versenden können. Voraussetzung für die Nutzung ist, Sie haben neben Microsoft Excel auch das Programm Microsoft Outlook installiert und darin ein Emailkonto eingerichtet.

Weitere Voraussetzung, im VB-Editor muss in der Exceldatei eine der beiden Objektbibliotheken aktiviert sein:

  • Microsoft Outlook 15.0 Object Library
  • Microsoft 15.0 Object Library

Die Nummer 15.0 steht hierbei für die genutzte Office-Version (15.0 entspricht z.B. Office 2013).

Nun zum eigentlichen VBA-Code. Hier gibt es einige Möglichkeiten den Versand individuell zu gestalten. In den beiden folgenden Makros wird die Email erstellt und zunächst angezeigt (1. VBA-Code), bzw. automatisch versendet (2. VBA-Code):

weiterlesen

 

Dateinamen eines Verzeichnisses mit VBA auslesen und in Excel schreiben

Mit einem kleinen Makro können Sie ganz bequem sämtliche Dateinamen inklusive der Dateiendungen in Excel schreiben. Das nachfolgende Makro brauchen Sie hierfür lediglich in ein Modul Ihrer Exceldatei hinzufügen. Alternativ können Sie auch die im Anschluss an diesen Beitrag anghängte Musterdatei nutzen.

Bevor Sie starten gibt es zwei Wichtige Punkte zu beachten. Vor dem Ausführen des Makros müssen Sie den Ordnername noch abhändern. Im Beispiel würde das Makro ansonsten im Laufwerk “C:\” den Ordner mit dem Namen “Ordnername” suchen und falls vorhanden die Dateien dieses Ordners in Spalte A ab Zeile 1 auflisten. Sofern der Ordnerpfad nicht vorhanden ist, erhalten Sie die Fehlermeldung “Laufzeitfehler ’76’: Pfad nicht gefunden”.

weiterlesen

 

Stolperstein Formatierung in UserForm TextBox

In programmierten Formularen (UserForm) kommen häufig Eingabefelder in Form einer TextBox zur Anwendung. Meistens sollen die darüber eingegebenen Werte umgehend weiter verarbeitet werden. Und hier gilt es ggf. gleich von Beginn an Fehler zu vermeiden. Der Inhalt einer TextBox wird nämlich ohne weiteres Eingreifen grundsätzlich immer als String behandelt. Sollen in einer TextBox jedoch Zahlen erfasst werden, die anschließend zum Beispiel miteinander verglichen oder summiert werden sollen, müssen diese zuvor umformatiert werden.

Was passiert, wenn die Inhalte der TextBox-Felder nicht formatiert werden? Den Fehler wird man unter Umständen nicht sofort merken.

TextBox Eingabefelder in Userform

Unterschiede in der Sortierung von Texten und Zahlen:
Angenommen Sie haben eine UserForm in der die Eingabe einer Zahl “von” und einer Zahl “bis” erfolgen soll. Anschließend möchten Sie prüfen, ob die Eingabe korrekt erfolgt ist, also die Zahl “von” wirklich kleiner als die Zahl “bis” ist.

weiterlesen

 

Mit VBA nach Datum filtern

Ziemlich banal ist eigentlich der heutige VBA Tipp. Allerdings ist das Internet voll von Fragen zu diesem Thema. Und die Lösungsvorschläge funktionieren mal besser, mal schlechter. Meistens sind es improvisierte Ideen, die das eigentliche Problem umgehen (z.B. Umformatieren in einen String etc.). Die Lösung dieses alltäglichen Problems bereit daher offensichtlich so manches Kopfzerbrechen. Gerade auch deshalb weil der Makro Rekorder das Problem nicht lösen kann. Gemeint ist das Ansteuern eines Autofilters über ein VBA Makro wenn eine Datumsspalte gefiltert werden soll. Nachfolgend stelle ich Ihnen jeweils einen passenden VBA Code vor um eine Datumsspalte nach den gängien Varianten:

  • Datum ist gleich
  • Datum ist größer als
  • Datum ist kleiner als
  • Datum liegt zwischen
  • Datum ist größer als das aktuelle Tagesdatum
VBA Makro Lösung

Grundsätzlich ist bei den nachfolgenden Beispielen zu beachten, dass die zu filternde Spalte im Datumsformat “TT.MM.JJJJ” vorliegen muss. Ggf. können Sie die Spalte umformatieren, wenn ein anderes Format vorliegt. Sofern eine andere Datums-Variante genutzt werden soll, sind die Makros entsprechend anzupassen. Für die jeweiligen Beispiele wurde das Datum in eine Variable (Datum, Datum1, Datum2) vom Datentyp “Date” gespeichert. Sie können natürlich auch eine Inputbox, einen Zellwert oder ähnliches als Grundlage für die Filterfunktion verwenden.

weiterlesen

 

Laufen Excel Makros auf Smartphone und Tablet Apps?

Inzwischen erhalte ich vermehrt Anfragen zu Makros die z.B. auf iOS-Systemen wie dem iPhone oder dem iPad von Apple laufen. Das Smartphone wandelt sich immer mehr zum mobilen Büro. Emails checken und im Internet surfen ist längst üblich. Aufgrund der Preisentwicklungen auf dem Mobilfunkmarkt auch kein Wunder. Inzwischen gibt es für unter 10 Euro Paketpreise mit z.B. 250 Freiminuten + 250 SMS in alle Mobilfunknetze und das Festnetz, sowie einer 500 MB Internet-Flatrate (z.B. Tarif SMART500 bei www.deutschlandsim.de). Und das Beste bei diesen Angeboten, inzwischen gibt es sie ohne sich für 24 Monate binden zu müssen. Mindestlaufzeit 1 Monat! Sobald mein 24-Monate-Knebelvertrag im Januar 2016 ausläuft, werde ich mir einen monatlich kündbaren Tarif sichern.

Excel Makros auf Smartphones und Tablets nutzen

Aber zurück zu den Anfragen bezüglich Makros, die auf dem Smartphone oder Tablet laufen sollen. Aktuell entwickle ich ausschließlich Makros, die mit Windows Betriebssystemen garantiert kompatibel sind. Bei anderen Betriebssystemen und alternativen Office-Anwendungen wie z.B. WPS Office kann die Unterstützung von VBA nicht immer gegeben sein. Anfragen zu Programmieraufträgen für iOS oder Android Geräten kann ich daher aktuell nicht erfüllen.

 

Zusammenhängende Datensätze farbig hervorheben

Ein häufiges Problem bei großen Datenmengen ist die fehlende Übersichtlichkeit. Excel bietet hier nur für einfache Konstellationen sinnvolle Lösungsansätze. So kann über die Funktion “Als Tabelle formatieren” zum Beispiel jede zweite Zeile farbig hervorgehoben werden.

Möchten Sie dagegen aus einer großen Datenmenge zusammengehörige Zeilen optisch hervorheben, ist das in der Regel, je nach Größe der Tabelle, mit viel händischer Arbeit verbunden.

weiterlesen

 

Wissenswert: Sverweis Funktion und Makro Alternative

Die Sverweis Formel-Funktion ist eine der beliebtesten Excel Funktionen überhaupt. Die Nutzung kann allerdings auch Probleme bereiten und die Performance bei großen Tabellen stark beeinträchtigen. In diesem Beitrag erfahren Sie, wofür Sie die Sverweis-Funktion nutzen können, worauf Sie achten müssen und schließlich was alternativ Makros leisten können. Dazu stelle ich Ihnen zwei Makros vor. Das erste Makro nutzt die Sverweis-Tabellenblatt-Funktion vlookup() in VBA und bietet somit alle Möglichkeiten der Formel-Funktion. Das zweite Makro stellt die Funktionsweise in ähnlicher Weise nach und bietet im Praxiseinsatz noch weitere Möglichkeiten, die mit der Sverweis-Funktion sonst nicht zu realisieren sind.

Sverweis-Formel im Tabellenblatt
Mit der Sverweis-Funktion können Sie grundsätzlich fehlende Daten aus einer anderen Tabelle zuspielen. Haben Sie zum Beispiel eine Liste mit Postleitzahlen bei denen die Orte fehlen können Sie über einen Sverweis in einer zusätzlichen Spalte die Orte in Abhänigkeit zur Postleitzahl hinzufügen. Voraussetzung ist, dass Sie über ein Postleitzahlenverzeichnis verfügen in denen zu allen Postleitzahlen die Orte gespeichert sind. Sie benötigen also eine Datenbasis aus der Sie die fehlenden Werte zuspielen können. Es sind dabei allerdings noch drei Punkte unbedingt zu beachten.

weiterlesen

 

Straße und Hausnummer mit Excel trennen – Teil 2 (Variante mit Makro)

Im ersten Teil habe ich Ihnen für das Problem bereits eine Lösung mit einfachen Excel Formelfunktionen vorgestellt. Diese Variante ist für gewisse Adressen vollkommen ausreichend und die Formeln sind auch jederzeit anpassbar und können für den jeweiligen Einsatz weiter optimiert werden. Nutzen Sie die Variante ohne Makros insbesondere dann, wenn Sie keine Makros aktivieren möchten, oder dürfen.

Einen anderen Lösungsansatz stelle ich Ihnen heute mit der makrobasierten Version vor.

weiterlesen

 

Zelle per Doppelklick mit X markieren

Mit der Makrolösung, die ich Ihnen hier vorstellen werde, können Sie sehr einfach Zellen markieren und ebenso die Markierung wieder aufheben. Auf diese Art können selbst mit Blattschutz versehene Tabellenblätter an ausgewählten Zellen gekennzeichnet werden. In der Praxis können Sie mit diesem Prinzip Checklisten erstellen, Druckbereiche definieren oder Schriftwechselvorlagen mit Auswahlfeldern erweitern.

weiterlesen

 

Dateien aus einer Excel-Arbeitsmappe öffnen

Gelegentlich werden Sie für eine bestimmte Aufgabe verschiedene Dateien benötigen. Das kann z.B. vorkommen wenn Sie ein Excel-Tool nutzen, dass die Bearbeitung, Datenerfassung und/oder die Erstellung von Schriftwechseln übernimmt und hierfür die Daten aus einer extern gespeicherten Adressliste, Anbieterliste etc. über ein Makro eingelesen und verarbeitet werden soll.

Heute stelle ich Ihnen zwei kleine VBA-Bausteine vor mit denen Sie während eines Makroablaufs an einer beliebigen Stelle diesen Vorgang in den automatisierten Ablauf integrieren können.

weiterlesen