Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
988to992
988to992
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Textbox Font.Size abhängig machen von Textlänge

Textbox Font.Size abhängig machen von Textlänge
24.06.2008 15:42:03
Textlänge
Hallo,
in einer Tabelle hab ich ein Textfeld, dass von der Größe her fix sein MUSS.
Manche der hohen Herren wollen da mehr reinschreiben, als Platz ist - diejenigen, die mit dem Platz auskommen, wollen keine kleine Schrift. (Psychologische Diskussionen hab ich schon hinter mir.)
Nun war meine Überlegung:
Wenn in das Textfeld mehr Zeilen geschrieben werden, als Platz haben, dann reduziere ich die Font.Size.
Wenn in das Textfeld weniger Zeilen geschrieben weren, als Platz haben, dann erhöhe ich die Font.Size.
Zu diesem Zweck hab ich mir den unterschiedlichen Platzbedarf (Height) der verwendeten Font.Sizes ermittelt.
z.B. FontSize 9.75 (Arial 10) - die erste Zeile im Textfeld benötigt Height=18 jede weitere Zeile Height=12
Daraus ermittle ich die mögliche Anzahl an Zeilen im Textfeld und vergleiche sie mit der tatsächlichen Zeilenanzahl. Dementsprechend erhöhe bzw. verringere ich die Font.Size und knapp vor der Unlesbarkeit erscheint "Text Overflow".
Allerdings gerate ich dann bei manchen Textfeldgrößen in eine "Doppelmühle": Mit einem Tastenanschlag wird der Zeichensatz kleiner, mit dem nächsten größer, mit dem nächten kleiner, mit dem nächsten größer .... bis man die "Doppelmühle" verlässt und im kleiner Zeichensatz weiterschreibt.
Ich hab mich in meinem Denkmuster schon so verstrickt, dass ich das Problem noch lösen könnte, indem ich das Ereignis "Textbox_Change" aufblase - aber eine vernünftige bzw. elegante Lösung ist mir wesentlich lieber.
Ich wünsche viel Spass beim tüfteln und freue mich auf eine Lösung.
Hermann

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox Font.Size abhängig machen von Textlänge
24.06.2008 19:58:00
Textlänge
Hallo,
Du kannst doch unter 'Zellen formatieren', 'Ausrichtung', 'Vertikal' 'Zentrieren' für die Zelle festlegen
Gruß Karsten

AW: Textbox Font.Size abhängig machen von Textlänge
24.06.2008 23:09:00
Textlänge
Hi
nimm nicht das CHANGE-Event, sondern das LOST_FOCUS- (Steuerelementtextbox) bzw EXIT- (Userformtextbox) Event.
das wird erst ausgelöst, wenn die Textbox verlassen wird
das hat für deine Chefs den Vorteil, daß sie den Text ohne Flackern zu Ende schreiben können
Gruß, Daniel
Anzeige

181 Forumthreads zu ähnlichen Themen


Hallo zusammen
Ich habe wieder einmal ein kleines Problemchen:
Per VBA möchte ich den Inhalt eines Textfeldes ändern (z.b. von Patrick auf Christopher). Den Namen zu ändern ist nicht das Problem, aber wie kann ich nun die Grösse des Textfeldes automatisch anpassen (z.B. von Breite 1.3...
Anzeige

Hallo Liebe Excelgemeinde!!!
In einer UserForm befindet sich folgender Code um bestimmte Einträge zu suchen. Da in der TextBox1 aber kein Text sondern ein Datum steht funktioniert dies nicht, da kommt die Meldung " Suchbegriff wurde nicht gefunden".
Was muss ich ändern, damit auch nach...

Hallo zusammen,
Markus hat in https://www.herber.de/forum/archiv/1012to1016/t1013729.htm ein IMHO interessantes Problem gepostet.
Da der Thread jetzt bald ins Archiv wandert, wir aber noch keine Erklärung gefunden haben,
stelle ich die Frage hier nochmal ein.
In der Beispielmapp...
Anzeige

Hallo,
gibt es eine einfache Möglichkeit den Textboxinhalt in html zu konvertieren?
Ich hab in einer Userform ein Textbox welche als Mailinhalt dient! Wenn ich nun mit
.HTMLBody = Mailtext.TextBox1
die Mail versende wird die Mail ohne Zeilenumbrüche und Schriftfarbe geschrieben!...

Hallo zusammen,
ein Problem mit einer Textbox beschäftigt mich nun schon eine ganze Zeit. Vielleicht habt Ihr ja eine Idee zur Lösung ...
Ich schreibe eine Anwendung mit einer Userform. Auf der Userform ist eine Listbox und eine Textbox. Per Doppelklick auf einen Eintrag in der Listbox...

Guten morgen Leute
Im unteren Code kann ich in Textbox27 eine 5 stellige Zahl eingeben,der mir dann im Worksheets("Artikeln") in Spalte A den übereinstimmenden Wert sucht.
Nun möchte ich aber das mir der Wert von Spalte B in Textbox29 anzeigt.
Z.B. Gebe in Textbox27 12345 ein, und...
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige