Anzahl verarbeiteter Datensätze mit VBA protokollieren

Verarbeitete Datensätze protokollieren

Heute stelle ich Ihnen eine Möglichkeit vor, die Anzahl der verarbeiteten Datensätze fortlaufend zu zählen. Das ist insbesondere dann sehr hilfreich, wenn Sie kostenpflichtige Webservices wie zum Beispiel die Google Maps API nutzen. Sie erhalten so einen sehr einfachen Überblick über die Anzahl der abgefragten Datensätze und können entsprechend die anfallenden Kosten kalkulieren. Auch ist es möglich einen monatliches Abfragebudget zu definieren, das nicht überschritten werden soll. Darüber hinausgehende Anfragen an die API-Schnittstelle können anschließend unterbunden werden.

Die nachfolgend vorgestellten VBA Routinen beinhalten allerdings nur die notwendigen Hilfsmittel um entsprechende Datenabfragen zu zählen und zu protokollieren. Das Beispiel beinhaltet kein Makro um tatsächlich eine Anfrage an die Google Maps API zu senden. Das sollte an dieser Stelle nur ein Hinweis für ein praktisches Anwendungsbeispiel sein.

VBA Routinen zum Messen der verarbeiteten Datensätze

Im Wesentlichen werden für das zählen und protokollieren der verarbeiteten Datensätze zwei VBA Routinen zusätzlich zur eigentlichen VBA Routine für die Verarbeitung der Datensätze benötigt. Bevor die Datensätze verarbeitet werden, wird zunächst der Stand der bereits verarbeiteten Datensätze aus einer externen Datei eingelesen. Hierfür wird im Beispiel eine einfache unformatierte Textdatei im TXT-Format genutzt. Reihenfolge der Verarbeitung:

Weiterlesen

 

Werte mit VBA in Spalte suchen und ersetzen

Ein häufiges Problem ist das Suchen und Ersetzen von Zellwerten. Dafür gibt es im Wesentlichen zwei Herangehensweisen. Den meisten Lesern dürfte die Standard-Funktion „Suchen und Ersetzen“, die entweder über den Eintrag im Register „Start“ oder über die Tastenkombination „Strg+H“ aufgerufen werden kann, bekannt sein. Die Funktion habe ich auch bereits im Beitrag Sonderzeichen Suchen und Ersetzen in Excel vorgestellt.

Die Alternative ist ein VBA Makro. Eine VBA Lösung ist vor allem dann sinnvoll, wenn Sie regelmäßig den gleichen Zellbereich überprüfen wollen oder gleichzeitig noch weitere Schritte automatisiert durchgeführt werden sollen. In VBA können Sie die Replace-Funktion nutzen. Die Funktion ist wie folgt aufgebaut:

Weiterlesen

 

Mit VBA Email versenden ohne Outlook

Email versenden VBA

Im ersten Teil wurde der Emailversand mit Outlook erklärt. Bei dieser Variante gibt es sehr viele Optionen um den Emailversand optimal anzupassen. Eine Email mit ganz einfachen Funktionen kann aber auch ohne die Nutzung von Microsoft Outlook sehr einfach und schnell versendet werden.

Teil 1: Per VBA-Makro eine Email mit Outlook versenden
Teil 2: Mit VBA Email versenden ohne Outlook

Email mit FollowHyperlink erzeugen

Die Methode über einen Mailto-Hyperlink ist eine sehr einfache Möglichkeit zum Erzeugen einer Email, allerdings auch mit einem eingeschränkten Funktionsumfang.

Weiterlesen

 

Excel Makros mit dem Makro-Rekorder aufzeichnen

Der integrierte Makro Rekorder in Excel ist, unabhängig von vorhandenen Programmierkenntnissen, ein sehr nützliches Tool. VBA Anfänger können über die Aufzeichnung wiederkehrender Arbeitsabläufe auch ohne Programmierkenntnisse ganz oder teilweise automatisieren. Aber auch fortgeschrittene Anwender können den Makro Rekorder sinnvoll nutzen. Insbesondere wenn einzelne VBA Funktionen nicht bekannt sind, können einzelne Schritte aufgezeichnet und anschließend im VBA Editor nachvollzogen werden.

Teil 1: Erste Schritte – Aufruf vom VBA-Editor
Teil 2: Excel Makros mit dem Makro-Rekorder aufzeichnen

Zu beachten ist allerdings, dass der aufgezeichnete VBA Code in vielen Fällen deutlich umständlicher ist, als selbst geschriebene VBA Befehle. Die Folgen von aufgeblähten Programmzeilen können sich bei größeren Projekten in verlängerten Laufzeiten direkt bemerkbar machen. Ein weiterer Nachteil ist, dass der aufgezeichnete Programmcode aufgrund seiner Länge leichter unübersichtlich wird.

Weiterlesen

 

Dateien mit Excel VBA erzeugen – Teil 3 XML-Format

XML-Format

Dateien aus Excel können vielfach direkt in andere Anwendungen importiert werden. Manche Systeme/Anwendungen benötigen jedoch speziell aufbereitete Daten in bestimmten Speicherformaten um diese weiterverarbeiten oder nutzen zu können. An einem einfachen Beispiel zeige ich Ihnen in drei Teilen, wie Sie mit einem Excel-Makro Daten aus einer Exceltabelle in unterschiedlichen Speicherformaten erzeugen.

Teil 1: CSV/TXT-Format
Teil 2: HTML-Format
Teil 3: XML-Format

Bei XML-Dateien handelt es sich um eine erweiterbare Auszeichnungssprache (Englisch: Extensible Markup Language), abgekürzt XML, für die Darstellung von hierarchisch strukturierten Daten in Format einer Textdatei. Der Vorteil von XML-Dateien: Dieses Format kann sowohl von Menschen als auch von Maschinen gelesen werden. Die Syntax von XML wird von vielen formalen Programmiersprachen verwendet und ist ein Instrument um W3C konform eine offene verständliche Informationslandschaft für Mensch und Maschine zu gewährleisten. Auch die gängige Dokumentensprache HTML wurde als XHTML in dieses Konzept integriert, so dass XML als Definitionsbasis zu Grunde liegt. XML-Dateien werden für die Weitergabe und Weiterverarbeitung von Informationen genutzt und werden aufgrund der einfachen Syntax von vielen Systemen unterstützt. Soviel zum Hintergrund von XML-Dateien.

Weiterlesen

 

Dateien mit Excel VBA erzeugen – Teil 2 HTML-Format

HTML Sonderzeichen

Dateien aus Excel können vielfach direkt in andere Anwendungen importiert werden. Manche Systeme/Anwendungen benötigen jedoch speziell aufbereitete Daten in bestimmten Speicherformaten um diese weiterverarbeiten oder nutzen zu können. An einem einfachen Beispiel zeige ich Ihnen in drei Teilen, wie Sie mit einem Excel-Makro Daten aus einer Exceltabelle in unterschiedlichen Speicherformaten erzeugen.

Teil 1: CSV/TXT-Format
Teil 2: HTML-Format
Teil 3: XML-Format

Die Erstellung von HTML-Dateien mit Inhalten aus einer Exceltabelle eignet sich besonders für die automatisierte Bereitstellung von Berichten. Der Vorteil an diesem Format ist, dass die erstellten Dateien mit allen gängigen Webbrowsern aufgerufen werden können und eine optisch ansprechende Darstellung der zusammengefassten Inhalte möglich ist. Die einzelnen Anwender benötigen zur Ansicht der erstellten HTML-Dateien selbst weder MS Excel noch eine vergleichbare Office Anwendung. Auch kann so sichergestellt werden, dass die ursprüngliche Datei nicht verändert oder gelöscht wird. HTML-Dateien können auch wahlweise im Internet oder nur im Firmennetzwerk bereitgestellt werden. Die Anwendungsmöglichkeiten sind zahlreich.

Weiterlesen

 

Dateien mit Excel VBA erzeugen – Teil 1 CSV/TXT-Format

CSV-Format

Dateien aus Excel können vielfach direkt in andere Anwendungen importiert werden. Manche Systeme/Anwendungen benötigen jedoch speziell aufbereitete Daten in bestimmten Speicherformaten um diese weiterverarbeiten oder nutzen zu können. An einem einfachen Beispiel zeige ich Ihnen in drei Teilen, wie Sie mit einem Excel-Makro Daten aus einer Exceltabelle in unterschiedlichen Speicherformaten erzeugen.

Teil 1: CSV/TXT-Format
Teil 2: HTML-Format
Teil 3: XML-Format

Für den Import/Export von Dateien werden grundsätzlich verschiedene Dateiformate genutzt. Die gängigsten hierfür genutzten Formate sind Textdateien, bei denen die Datensätze ohne die Informationen zur Formatierung der Zellwerte gespeichert werden und mit einem fest definierten Trennzeichen (z.B. Semikolon) oder einer festgelegten Breite die Abgrenzung der Spalten sicherstellen.

Weiterlesen

 

Per VBA-Makro eine Email mit Outlook versenden

Email versenden VBA

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.

Teil 1: Per VBA-Makro eine Email mit Outlook versenden
Teil 2: Mit VBA Email versenden ohne Outlook

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 um Dateinamen mit VBA auslesen zu können.

Bevor Sie starten gibt es zwei Wichtige Punkte zu beachten. Vor dem Ausführen des Makros müssen Sie den Ordnername im VBA Code 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