Autosize für Textboxen per VBA definieren

25/09/2008 - 12:49 von Gaby | Report spam
Hallo,

in einem VBA Makro muss ich mehrere Textboxen in ein Worksheet einfügen.
Beim Einfügen muss ich die Größe und die Position definieren. Der Text wird
danach eingetragen.
Wie kann ich möglichst schnell und einfach nun die Breite der Textxbox an
den Text anpassen? Das setzen der Eigenschaft AutoFit = True klappt bei mir
nicht mit der Breite!!!

Danke und Grüße
G.Roth-Straulino
 

Lesen sie die antworten

#1 Jens Unglaube
30/09/2008 - 13:40 | Warnen spam
Hallo Gaby,
einfach die maximal verwendeten Zeichen pro Eintrag zàhlen und mit einem
Schriftgößenfaktor multiplizieren und den dann für die Größe verwenden

Sub Aufruf()
usrstart.TextBox1.Width = Textboxbreite
End Sub

Function Textboxbreite()
Dim Anzahl As Long
Dim Faktor As Double
Dim Eintrag As Variant
Dim TextBox As Variant

Faktor = "????" (probieren jede Schriftart hat eine bestimmte Breite)
Anzahl = 0
For Each Eintrag In TextBox
If Anzahl < Len(Eintrag) Then Anzahl = Len(Eintrag)
Next
Textboxbreite = Anzahl * Faktor
usrstart.TextBox1.Width = Anzahl * Faktor

End Function

Ich habs nicht probiert aber so ungefàhr sollte es funktionieren

Gruß Jens

Gaby schrieb:
Hallo,

in einem VBA Makro muss ich mehrere Textboxen in ein Worksheet einfügen.
Beim Einfügen muss ich die Größe und die Position definieren. Der Text wird
danach eingetragen.
Wie kann ich möglichst schnell und einfach nun die Breite der Textxbox an
den Text anpassen? Das setzen der Eigenschaft AutoFit = True klappt bei mir
nicht mit der Breite!!!

Danke und Grüße

Ähnliche fragen