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

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

 

Zusammenhängende Datensätze farbig hervorheben

Datensätztze 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. Dadurch können Sie die Zellen einer Zeile einfacher im Blick behalten. Mehrere zusammenhängende Zeilen hervorheben, ist hiermit allerdings nicht möglich.

Möchten Sie deshalb 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.

Teil 1: Wissenswert: Sverweis Funktion und Makro Alternative
Teil 2: Besser als SVERWEIS: Die XVERWEIS Funktion

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

 

Dynamischer Datenbereich für Pivot-Tabellen

Pivot bietet Ihnen optimale Möglichkeiten größere Datenmengen gezielt zu analysieren. Mit minimalem Aufwand können Sie den Datenbereich einer Pivot-Tabelle dynamisieren. Dazu stelle ich Ihnen heute eine kleine Makrolösung vor.

Die beiden Makros werden im VBA-Editor nicht als Modul in Ihrem VBAProject gespeichert, sondern im Ordner “Microsoft Excel Objekte” und dort in der Tabelle in der Ihr Datenbereich für die Pivot-Tabelle liegt.

VBA Project

Die Funktion der beiden Makros ist schnell erklärt. Das Makro “dynPivotbereich” setzt einen Namen für den gewünschten Datenbereich. Im Beispiel hat dieser Bereich 4 Spalten von Spalte A = “C1” bis Spalte D = “C4”. Das “C” steht hier für Column = Spalte. Die Zeile wird mit dem Buchstaben R = Row angegeben.

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.

Teil 1: Straße und Hausnummer mit Excel trennen – Variante ohne Makro
Teil 2: Straße und Hausnummer mit Excel trennen – Variante mit Makro

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

Weiterlesen

 

Mit unterschiedlichen Varianten die letzte benutzte Zeile oder Spalte ermitteln

Mit den heute vorgestellten Makro-Lösungen können Sie mit unterschiedliche Methoden die letzte genutzte Zeile oder letzte genutzte Spalte in der Exceltabelle ermitteln und in einer Variablen speichern. Diese Funktionen sind besonders dann äußerst wertvoll, wenn Sie bestimmte Vorgänge automatisieren wollen, der Tabellenumfang aber variieren kann.

Teil 1: Mit unterschiedlichen Varianten die letzte benutzte Zeile oder Spalte ermitteln
Teil 2: Leere Zeilen in Exceltabellen löschen
Teil 3: Doppelte Zeilen löschen
Teil 4: Spalten und Zeilen in Excel Tabellen ohne großen Aufwand tauschen

Nachfolgend erkläre ich anhand von fünf Makros die unterschiedlichen Varianten. Die Varianten 1_1 und 1_2 nutzen dabei die Funktion UsedRange (genutzter Bereich). Die Alternativen Makros der Varianten 2_1 bis 2_3 dagegen prüfen nicht den genutzten Bereich, sondern jeweils nur eine ausgewählte Zeile oder Spalte.

Beide Lösungsansätze haben Vor- und Nachteile. Die geeignete Variante ist deshalb zwingend in jedem Einzelfall
anhand der vorliegenden Voraussetzungen im Tabellenblatt auszuwählen.

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

 

Excel VBA – Datei Öffnen Dialog

Öffnen Dialog

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

 

Zum Prüfvermerk Bearbeitungsdatum und Bearbeiter dokumentieren

Arbeiten mehrere Personen mit einer Exceldatei kann es notwendig werden, das jeweilige Bearbeitungsdatum und den zuständigen Ansprechpartner nachvollziehen zu können. Müssen große Listen abgearbeitet werden, kann z.B. eine Spalte für einen Prüfvermerk in die Exceldatei integriert werden. Sind es immer dieselben Eintragungen, die vorgenommen werden sollen, z.B. um im Rahmen einer Bestellabwicklung den aktuellen Status festzustellen kann diese Spalte mit einer Dropdown-Box bereits alle möglichen Vermerke bereitstellen, so dass der Vermerk nur noch aus der Liste ausgewählt werden muss. Um hinterher noch nachvollziehen zu können, wann und wer diesen Vermerk hinzugefügt hat, stelle ich Ihnen heute eine recht einfache Lösung für ein entsprechendes Excel Makro vor. Die Beispieldatei können Sie am Ende des Beitrags herunterladen. Für die Funktion des Makros müssen Makros aktiviert sein!

Weiterlesen