Was ist schneller C# oder VBA?

In jedem Fachgebiet gibt es Fragestellungen, die von den in die Materie involvierten Personen sofort richtig beantwortet werden. Das Gebiet der Softwareentwicklung bildet da natürlich keine Ausnahme. Ich glaube, jedem Entwickler dürfte klar sein, dass zwischen VBA und C# (beide aus dem Hause Microsoft stammend) Welten liegen. Deswegen geht es in diesem Beitrag nicht um die Frage „Ist C# schneller als VBA?“, sondern vielmehr „Um welchen Faktor ist C# schneller als VBA?“

Continue reading „Was ist schneller C# oder VBA?“

QR Codes mit VBA und Google Chart API erstellen

Im Internet gibt es zahlreiche Webseiten, mit denen man QR-Codes erzeugen kann. Man tippt einfach die zu verschlüsselnde Zeichenkette ein und erhalt eine entsprechende Grafik mit dem QR-Code. Was ist jedoch, wenn man dies nicht per Hand, sondern maschinell erledigen möchte? Hierfür könnte die Google Chart API eine mögliche Lösung sein.

In diesem Tutorial stelle ich ein kleines, von mir entwickeltes, Programm vor und erkläre ausführlich, wie dieses funktioniert. Es ist in der Lage, Texte aus einem Array mit Hilfe der Google Chart API automatisch in QR Codes zu überführen. Mit einer kleinen Anpassung kann auch eine Exceltabelle als Quelle für die umzuwandelnden Texte angebunden werden, sodass die Textpflege noch einfacher wird.

Continue reading „QR Codes mit VBA und Google Chart API erstellen“

Richtiger Umgang mit ScreenUpdating

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 „Richtiger Umgang mit ScreenUpdating“

Konsolenanwendungen mit VBA aufrufen

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 mit VBA aufrufen“

XML-Validierung mit XSD und VBA

In einem meiner früheren Beitrage habe ich XML-basierte Schlüsselverzeichnisse vorgestellt, deren Struktur mit der Beschreibungssprache XSD festgelegt 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-Validierung mit XSD und VBA“

Mehrere Rückgabewerte einer Funktion

In der Softwareentwicklung arbeite ich sehr gerne mit Funktionen, um den Quellcode in kleinere, leicht verständliche Einheiten aufzuteilen. Idealerweise sind sie so allgemein, dass sie an mehreren Stellen im Code verwendet werden können. In der Regel geben diese Funktionen einen einzelnen Wert zurück. In manchen Fällen ist jedoch erforderlich, mehrere Rückgabewerte 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.

Dafür stehen uns in VBA (in allen anderen Programmiersprachen natürlich auch) mehrere Lösungsmöglichkeiten zur Verfügung, die ich hier kurz vorstellen möchte.

Continue reading „Mehrere Rückgabewerte einer Funktion“

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 AddIns 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 Access

In einem meiner letzten Artikel zum Thema Rechnungsstellung habe ich erwähnt, dass manche Kundenüberweisungen aufgrund von Zahlendrehern in Rechnungsnummern nicht automatisiert zuordenbar waren. Dazu habe ich mir überlegt, wie ich die Zuordnungsquote erhöhen kann.

Continue reading „Rechnungsstellung mit QR Codes in Access“

3 hilfreiche VBA Datenstrukturen (Array, Collection und Dictionary)

Im Gegensatz zu anderen Programmiersprachen, wie C# oder Java, verfügt VBA über relativ wenige Datenstrukturen zur Verwaltung großer Datenmengen. In diesem Beitrag möchte ich die verfügbaren VBA Datenstrukturen gerne vorstellen und anhand von Beispielen erklären, für welche Zwecke ich sie einsetze.

Continue reading „3 hilfreiche VBA Datenstrukturen (Array, Collection und Dictionary)“

Schlüsselverzeichnisse für Programmparameter

Bei der Entwicklung von Software gelange ich immer wieder an den Punkt, an dem ich zur Verwaltung von Programmparametern Schlüsselverzeichnisse benötige. Im Laufe der Zeit habe ich einige Möglichkeiten ausprobiert, von denen ich in diesem Beitrag die drei häufigsten mit deren Vor- und Nachteilen vorstellen möchte.

Continue reading „Schlüsselverzeichnisse für Programmparameter“