VBA Width für Userform, Basis: ColumnWidth

gehtnetgibtsnet

Cadet 4th Year
Registriert
März 2019
Beiträge
124
Hallo Forum.

Ich nutze eine Userform, um eine Auswahl von Begriffen anzuzeigen.

Nun möchte ich gerne meine Anwendung verbessern:
Die Begriffe sind unterschiedlich lang und auch nicht immer die gleichen. Inzwischen kenne ich den Wert, den der längste Begriff in einer Excel-Tabelle (mit dem gleichen Zeichensatz und -größe) belegt (ColumnWidth). Auf der Basis dieses Wertes möchte ich nun die "Width" meiner Userform anpassen. Doch das sind unterschiedliche Definitionen.

Wie kann ich den ColumnWidth-Wert in in einen Width-Wert für die Userform umrechnen?

Wer kann helfen?.
 
Hallo nöörd.

Danke für Deinen Link. Ich habe den dort bereitgestellten Code heruntergeladen und getestet. Das, was ich suche - die Breite der Userform einer zuvor ermittelten Spaltenbreite anzupassen - ist in diesem Code nicht vorhanden.
Die Sache scheint komplizierter zu sein, als es aussieht: bei mir sieht die angezeigte Userform anders aus: der
Text in der 2. Zeile wurde anders getrennt und am Ende wird noch ein Teil einer weiteren Zeile angezeigt. Daraus schließe ich, dass auch meine Hardware hier mitmischt.

Userform.jpg
 
Ich habe hier ohnehin die Befürchtung, dass die Quellgröße Column.Width nichts zurückgibt das du einfach so direkt bei…
With MyUserForm
.Width = w
.Height = h
End With

…einbauen kannst. Die Zuweisung so wie hier aufgerissen funktioniert allerdings.

Column.Width hat bestimmt eine andere Skalierung (Maßstab) als MyUserform.Width sie hat. Möglich, dass du per Google Umrechnungsfaktoren findest. (Vergleiche nur mal Zeilenhöhe und Spaltenbreite…)

Also würde ich mit dem nötigen Wissen das dein Programm haben sollte das Pferd andersrum aufzäumen; simpler Dreisatz am Ende.
Du hast die Ausgangsbreite [laufende Breite…] der Spalte, du hast die Ausgangsbreite [laufende Breite…] der UserForm. Also stell dich einfach dumm: die Spalte wird um (ausrechnen) 15% breiter, also wird die UserForm auch um diese 15% breiter. Oder schmaler. Damit fängst du jede Skalierung auf.

CN8
 
Hallo cumulonimbus8.

Wenn es keine brauchbare Formel gibt, dann wird mir nur die von DIr vorgeschlagene Lösung bleiben.
 

Ähnliche Themen

Zurück
Oben