Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1680to1684
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Summe ASCII Zeichen Breite für String Ausrichtung

Summe ASCII Zeichen Breite für String Ausrichtung
21.03.2019 12:24:30
Andreas
Hallo VBA Freunde,
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

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summe ASCII Zeichen Breite für String Ausrichtung
21.03.2019 14:00:06
EtoPHG
Hallo,
Ein Ansatz "Jenseits von Gut und Böse!"
a) Wie bitte kannst Du den Font einer Msgbox anpassen?
b) Wieso überhaupt eine Msgbox?
c) Wieson keine Userform mit einer 2spaltigen Listbox und alle Probleme lösen sich in Rauch auf?
Ich kann nicht verstehen, wie man sein Level so einschätzt und dann mit solchen "von hinten durch die Brust ins Auge"-Ansätzen endlose Zeit vertrödelt!
Gruess Hansueli
AW: Summe ASCII Zeichen Breite String Ausrichtung
21.03.2019 18:55:22
Andreas
Hallo Hansueli,
Ich kann den Font einer Messagebox nicht anpassen. Das habe ich auch nicht geschrieben. Aber ich kann die Systemschrift ändern. Dies hat dann Auswirkungen auf alle Anzeigen und ermöglicht über eine monospace Schriftart eine korrekte spaltenweise Darstellung.
Warum eine MessageBox (und keine ListBox)? Eine MessageBox ist stringent und einfach aufzurufen. Sie passt sich automatisch in der Grösse an und hat über vbInformation, vbExclamation, etc. immer die richtige Aussagekraft in Bezug auf Symbol und Ton. Eine Darstellung über UserForm ist für Listen sicherlich einfacher, aber um die Symbole, Erscheinung und Töne so elegant und passend wie in einer MessageBox darzustellen ist wiederum Programmieraufwand notwendig.
Die Breiten der einzelnen Zeichen auszulesen und zu summieren habe ich ja schon umgesetzt und das ist ja kein „von hinten durch die Brust ins Auge“ sondern ein geradliniger Select Case Ansatz, dessen Ergebnis in einem eindimensionalen Array summiert wird. Nur für das was danach kommt fehlt mir noch der richtige Ansatz.
Ich kann das Coding für die Breitenbestimmung oder das Aufhübschen einer UserForm einsetzen. Ich habe mich jetzt für Ersteres entschieden, weil ich es spannend fand und finde. Auch ist der Ansatz mit einem nachgesetzten vbTab schon nah dran. Ich denke also nicht, dass die Zeit vertrödelt ist.
Viele Grüße, Andreas
Anzeige
AW: Summe ASCII Zeichen Breite String Ausrichtung
21.03.2019 22:37:46
EtoPHG
Hallo Andreas,
Na ja. Deiner Argumentation kann ich in keiner Weise zustimmen.
Die Komplexität des Programmcodes u.v.a dessen Wartung ist im erreichten Nutzen nicht vertretbar.
Als Empfänger solcher Software würde ich sowas nach der ersten Codesichtung sofort zurückweisen.
Für den Anwender entstehen aus solchen Konstrukten keinerelei funktionale oder informative Vorteile.
Die Messagebox ist im übrigen beschränkt in der Länge der Informationen. Bei einer Userform habe ich dieses Problem nicht. Ich kann Dir keine weiteren Typs geben, weiss aber dass schon hunderte von Beiträgen zum Thema Ausrichten von nichtproportionalen Schriften in Zellen (oder eben auch Msgboxen) im Archiv dieses Forums sind und keiner davon hat befriedigende Ergebnisse geliefert.
Gruess Hansueli
Anzeige

13 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige