immer mal wieder stehe ich vor dem Problem, dass ich mir Informationen, die eine Prozedur sammelte wegen der besseren Übersichtlichkeit spaltenweise anzeigen lassen möchte.
In einer Monospace Schriftart ist das gut möglich, da ich einfach die Länge des längsten Strings ausmesse und den Rest mit Leerzeichen auffülle. Um dies zu erreichen stellte ich die Systemschriftart auf Lucida Sans Typewriter Größe 9 ein. Das ist auch in Ordnung, aber bietet in den MessageBoxen nun doch etwas weniger Platz.
Also experimentierte ich doch wieder mit dem exakten ermitteln von Stringlängen basierend auf dem individuellen ASCII Zeichen. Die Differenz des jeweiligen Strings zum längsten String der Anzeige wird durch die Breite eines Leerzeichens dividiert und die Anzahl der Leerzeichen wird aufgefüllt. Aber das funktioniert praktisch nicht. Meine Idee war nun, noch einen vbTab dazu zu nehmen, was das Erscheinungsbild auch etwas vereinheitlicht. Aber irgendwo habe ich immer noch einen Denkfehler. Oder wäre es besser den längsten String per se mit einem vbTab zu ergänzen und alle anderen Strings mit vbTab zu ergänzen? Aber wie bekomme ich raus, wie breit in vbTab in Segoe UI Größe 9 ist?
Ich habe im Internet viel dazu gelesen, aber fand keinen Ansatz, der basierend auf der Schriftart und Größe einen exakten Start der zweiten Spalte ermöglicht.
In der beigefügten Datei (Modul 1, Sub AlignColumns) habe ich meinen bisherigen Codeansatz hinterlegt. Ich würde mich freuen, wenn jemand den entscheidenden Ansatz für die Lösung dieser Knobelaufgabe liefert.
https://www.herber.de/bbs/user/128564.xlsm
Dank und Gruß, Andreas Hanisch