VBA-Peformanceoptimierung mit Hindernissen

Viele Programme, welche mit großen Datenmengen herumhantieren und komplizierte Berechnungen anstellen, kommen oft an den Punkt, an dem deren lange Laufzeit allmählig zum Problem wird. VBA-Programme, die unter Excel laufen, sind da keine Ausnahmen. Eher die Regel – vor allem dann, wenn das Programm dauernd Inhalte in Zellen reinschreibt. Denn bei jedem solcher Schreibvorgänge gehen wertvolle Millisekunden für die Bildschirmaktualisierungen und automatische Berechnungen anderer Zellen drauf. Nebenbei erwähnt, führt dies auch zum unschönen Flackern des Bildschirms während des Programmlaufs. Stöbert man in zahlreichen Foren, begegnet man oft dem Vorschlag, die Bildschirmaktualisierung sowie automatische Zellenberechnungen vor dem Beginn der Verarbeitung auszuschalten und sie nach der Verarbeitung wieder zu aktivieren.

Wie so oft, steckt auch bei diesem wirklich wirkungsvollen Vorschlag der Teufel im Detail, welches der Gegenstand dieses Beitrags sein soll.

Continue reading „VBA-Peformanceoptimierung mit Hindernissen“

Konsolenanwendungen und deren Aufruf von VBA aus

Fragt man Menschen mit unterschiedlichem Background (kaufmännisch vs. informationstechnisch), was sie von Konsolenanwendungen halten, so gibt es in der Regel vollkommen gegenläufige Meinungen. Auf der einen Seite kommen Aussagen wie „das ist ja doch total veraltet, ich möchte lieber eine schicke Bedienoberfläche haben“. Auf der anderen Seite lautet die Meinung „hey, die sind absolut genial, einfach bedienbar und wirklich aufs Wesentliche fokussiert“. Continue reading „Konsolenanwendungen und deren Aufruf von VBA aus“

XML-Prüfung gegen XSD mit VBA

In einem meiner früheren Beitrage habe ich XML-basierte Schlüsselverzeichnisse vorgestellt, deren Struktur mit XSD-Dateien beschrieben wird. Nun möchte ich daran anknüpfen und zeigen, wie einfach die Validierung einer solchen XML-Datei unter VBA realisiert werden kann. Continue reading „XML-Prüfung gegen XSD mit VBA“

eigene VBA-Datentypen

In der Praxis arbeite ich sehr gerne mit Funktionen, um den Quellcode in kleinere, leicht verständliche Einheiten aufzuteilen, die idealerweise so allgemein sind, dass sie mehrmals verwendet werden können.

In der Regel geben diese Funktionen einen einzelnen Wert zurück. In manchen Fällen ist jedoch erforderlich, mehrere Werte gleichzeitig zurückgeben zu können, vor allem dann, wenn die Daten in einem engen fachlichen Zusammenhang stehen – beispielsweise ein bestimmtes Produkt, seine abgesetzte Menge und der damit generierte Umsatz. Continue reading „eigene VBA-Datentypen“

Entwicklung von Klassen-AddIns(VBA)

In kleineren VBA-Projekten, die ihre komplette Geschäftslogik in einer einzelnen Datei beherbergen, gibt es wenig Gründe, Teile dieser Geschäftslogik in separate Add-Ins auszulagern. Dies würde nur Mehraufwand bedeuten, ohne dass der Entwickler oder der Anwender daraus einen Vorteil ziehen kann. Continue reading „Entwicklung von Klassen-AddIns(VBA)“

Rechnungsstellung mit QR-Codes

In einem meiner letzten Artikel zum Thema Rechnungsstellung habe ich erwähnt, dass manche Kundenüberweisungen aufgrund von Zahlendrehern bei den Rechnungsnummern nicht automatisiert zuordenbar sind. Dazu habe ich mir auch mögliche Alternativen überlegt, wie ich die Zuordnungsquote erhöhen kann. Continue reading „Rechnungsstellung mit QR-Codes“

Datenstrukturen in VBA

Im Gegensatz zu anderen Programmiersprachen, wie zum Beispiel C# oder Java, verfügt VBA über relativ wenige Datenstrukturen zur Verwaltung großer Datenmengen. Hier in dieser Aufstellung möchte ich diese gerne vorstellen und mit Beispielen erklären, für welche Zwecke ich diese Strukturen verwende. Continue reading „Datenstrukturen in VBA“

Schlüsselverzeichnisse für VBA-Programme

Bei der Entwicklung von Software, die ein bestimmtes Maß an Komplexität erreicht hat, stellte ich mir früher des Öfteren die Frage, wie die Datenhaltung in Schlüsselverzeichnissen am besten aufzubauen ist. Im Laufe der Zeit habe ich einige Möglichkeiten ausprobiert. Insgesamt haben sich dabei 3 Varianten herauskristallisiert, die ich hier mit deren Vor- und Nachteilen vorstellen möchte.

Continue reading „Schlüsselverzeichnisse für VBA-Programme“

Datentransformation mit XSLT

Hat man als Entwickler die Aufgabe, eine Datei mit strukturierten Daten aus einem Format in ein anderes (z.b von csv nach xml) umzuwandeln, entwickelt man in der Regel ein normales Programm, welches die Eingabedatei einliest, diese nach bestimmten Vorgaben umformt und wieder ausgibt. Die gleiche Vorgehensweise wird auch angewandt, wenn es lediglich darum geht, die Struktur der Daten zu anzupassen ohne das Dateiformat zu ändern. Continue reading „Datentransformation mit XSLT“