2016-06-09 22 views
1

Dies ist eher ein konzeptionelles Problem. Wie es im Titel heißt, möchte ich eine Funktion oder ein Untermodul erstellen, das in der Lage ist, Text aus einer Zelle zu entnehmen und in ein Textfeld auf einem Formular zu setzen. dann möchte ich, dass das Textfeld seine Höhe basierend auf der Länge des Textes in dieser Zelle anpasst. Ich habe einige Nachforschungen ohne viel Erfolg gemacht, bis auf einige veraltete Beiträge. Ich möchte verstehen, wenn Sie die Länge der Zeichenfolge mit der Breite eines Textfelds numerisch vergleichen können, oder wenn es eine einfache Möglichkeit gibt, die Breite des Strings zu berechnen. Die Schriftart, die ich benutze, ist Tahoma Größe 10.So passen Sie die Höhe des Textfelds basierend auf der Länge des Texts/der Zeichenfolge an

Vielen Dank im Voraus für Ihre Antwort.

+0

Ich würde vorschlagen, auf eine [proportionale Schrift] bewegt (https://en.wikipedia.org/wiki/Monospaced_font) und dann können Sie die gewünschte Breite der TextBox berechnen basierend auf die Schriftgröße. – Ralph

+0

https://msdn.microsoft.com/en-us/library/windows/desktop/dd144938(v=vs.85).aspx –

Antwort

0

Keine Funktion erforderlich. Verwenden Sie, was Excel bietet

Rechtsklick | Format Form | Textbox

unter Auto Fit Abschnitt

Check "Größe ändern Shape-Text zu passen"

Uncheck "Erlaube Text Form zu überfluten"

Edited für Userform Text

AutoSize = True setzen

Set Multiline = True

+0

Vielen Dank für Ihre Antwort. Aber ich möchte ein Textfeld in einem ** Formular **, nicht in der Excel-Tabelle. –

+0

Können Sie das Autosize-Flag nicht auf "True" setzen? – dbmitch

+0

Wenn Sie möchten, dass sich die Höhe ändert und nicht die Breite, setzen Sie MultiLine ebenfalls auf true – dbmitch

Verwandte Themen