Herzlich Willkommen auf meiner Seite!

Ich poste hier in unregelmäßigen Abständen Quellcodebeispiele und Gedanken zum Thema Visual Basic for Applications (VBA) und Excel, aber auch SQL, Access, Word und anderen Programmiersprachen.

Vielleicht hast Du ein interessantes VBA- oder Excel-Problem und suchst eine Lösung. Dann schick mir doch eine Email mit allen notwendigen Informationen.

Viel Spaß,
Tobias Schmid

Verketten mit Trennzeichen

Wie verkettet man den Inhalt mehrerer Zellen mit einem Trennzeichen? Ohne Trennzeichen kann die Excelfunktion VERKETTEN verwendet werden. Mit Trennzeichen wird das ganze etwas schwieriger. Vor allem wenn einige Zellen leer sind.

Vorlage für Excel AddIn

Keine Erfahrung mit AddIns, wenig Erfahrung mit VBA? Und dann auch noch die Symbolleiste für das Excel-AddIn dynamisch erstellen? Vielleicht hilft diese Vorlage weiter!

Workbook soll sich von alleine schließen

Schon wieder vergeßen das Workbook zu schließen? Mit dieser Excel-Datei passiert das sicher nicht. Sobald eine zuvor festgelegte Zeit lang keine Änderungen oder Ähnliches vorgenommen wurden schließt sich das Workbook von alleine.

Natural Cubic Spline

Im Artikel Gaußverfahren mit Pivoting hatte ich bereits darauf hingewiesen, dass mit diesem Verfahren auch Splines berechnet werden können. Hier ist die VBA-Funktion zum Erstellen von natürlichen kubischen Splines (natural cubic splines).

Gauß-Verfahren mit Pivoting

Im letzten Post habe ich das Gaußverfahren zur Lösung von linearen Gleichungssysteme vorgestellt. Mittlerweile habe ich den Algorithmus um Pivoting, also dem Vertauschen von Zeilen und Spalten, ergänzt. Dadurch verhindert man eine mögliche Division durch Null und der Algorithmus läuft deutlich stabiler.

Lineares Gleichungssystem mit dem Gaußverfahren lösen

Tinas Oma ist zehnmal so alt wie Tina. In zehn Jahren ist Oma nur noch viermal so alt wie Tina. Wie alt sind Oma und Tina jetzt?

Alles klar? Solche und ähnliche Probleme (z.Bsp. Interpolationen mit Splines) lassen sich sehr einfach als ein System linearer Gleichungen formulieren und mit einem Verfahren wie dem Gaußschen Eliminationsverfahren (auch bekannt als Gauß-Verfahren) lösen.

Datenfelder zusammenfügen und sortieren

Wie kann man schnell zwei Datenfelder sortiert zusammenfügen? Angenommen wir haben zwei zweidimensionale Datenfelder. Nennen wir sie Daten1(100,2) und Daten2(100,2), zum Beispiel x- und y-Werte. Sollte man die Datenfelder, mit einer Reihe von if-Abfragen, sortiert in ein drittes Datenfeld schreiben? Oder ist es besser beide Datenfelder (stupide) aneinander zuhängen und anschließend mit Quicksort zu sortieren?

Dateieigenschaften mit VBA auslesen

Mit meiner neuen Klasse clsFileProperties können die Dateieigenschaften wie zum Beispiel Größe, Geändert am, Erstellt am, Letzter Zugriff am, Kommentare, Kameramodell und Bild aufgenommen am bequem ausgelesen werden.

Die Beispiel-Datei zeigt einige Anwendungsbeispiele:

Die schnellste Maximumsfunktion

Schon mal gefragt wie man am schnellsten das Maximum von zwei Werten bestimmt? Mit wenig Arbeit und der Worksheet-Funktion MAX? Oder doch lieber eine eigene Funktion schreiben? Vielleicht reicht auch eine Wenn-Dann-Abfrage?

Liste mit den Namen der Tabellenblätter

Wie kann man in Excel eine Liste mit allen Tabellenblätter erstellen. Sicherlich mit VBA, aber wie geht es ohne VBA? Dieses Beispiel zeigt wie über Namen definieren eine Liste aller Tabellen erstellt wird.

Von Rudi Maintaire habe ich den Tipp bekommen die Formel um +0*Jetzt() zu ergänzen. Somit wird die Liste auch bei Änderung der Tabellenblattnamen aktualisiert.

Inhalt abgleichen