Excel VBA Textbox der Schriftgröße
Ich habe eine userform anzeigen meine Allgemeinen Geschäftsbedingungen, die abgeholt wird, direkt aus einer Zelle. Nach der Aktivierung nenne ich TandC.Text = Worksheets("Master").Range("L41")
funktioniert perfekt, wenn ich das Formular direkt -- richtige schriftart-Größe, mehrere Zeilen, Zeilenumbruch etc. Allerdings, wenn ich das Formular aus einer anderen userform, die die TextBox-text plötzlich zeigt den text in einer winzigen Schrift unlesbar. Sogar, wenn ich eine test-Taste auf dem Formular, stellen Sie die Schriftgröße auf 28, es funktioniert nicht, wenn die form ist gekickt aus einem anderen Formular; es wird jedoch ändern, wenn es auf eigenen.
Scheint es ein Problem zu sein, wenn Multiline
eingeschaltet ist, schalte ich es aus und die Schrift ist in der richtigen Größe aber der text erstreckt sich für Meilen auf der rechten Seite. Ich es wieder einschalten und wieder habe ich eine kleine Schrift unlesbar.
Es treibt mich in den Wahnsinn, kann mir jemand einen Rat?
Siehe unten mein code, den Füßen die form aus der ursprünglichen form ist nur eine einfache UF.Show
.
Mir ist das eigentlich ähnlich wie andere dann in meinem initialisiert werden ich habe einige code, der zentralisiert die form auf dem Bildschirm, wenn Sie mehrere Monitore haben.
Private Sub CommandButton2_Click()
TandC.WordWrap = True
TandC.Font.Size = 8
TandC.MultiLine = True
End Sub
Private Sub UserForm_Initialize()
Dim TopOffset As Integer
Dim LeftOffset As Integer
TopOffset = (Application.UsableHeight / 2) - (Me.Height / 2)
LeftOffset = (Application.UsableWidth / 2) - (Me.Width / 2)
Me.Top = Application.Top + TopOffset
Me.Left = Application.Left + LeftOffset
TandC.Text = Worksheets("MasterData").Range("L21")
TandC.WordWrap = True
TandC.MultiLine = True
TandC.Font.Size = 8
End Sub
InformationsquelleAutor Ian Gough | 2013-10-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie, auf
autosize
für Ihren text-box. Sieht aus wie multi-line versuchen, alle passen Sie text in das Textfeld, indem Sie die Schriftgröße anpassen, anstatt die Anpassung der Größe der box. Sie können auch versuchen, die Einstellung der Höhe der Schachtel.Können Sie versuchen, diese zu (von MSDN ):
Habe ich versucht zu duplizieren problem durch aufrufen von einem Formular aus ein weiteres Formular und verwendet sogar eine Taste, um dynamisch zu aktualisieren, die text-Größe. Ich habe nicht in der Lage zu beobachten, Ihr Problem. Hier ist mein test-code:
Hinter userform1
Hinter userform2
BEARBEITEN
Fand ich diese post die talkes über andere mit dem gleichen Problem in Excel 2013. Eine person schrieb, dass das Umschalten der Zeilenumbruch hin und her in die getfocus-Ereignis und das Problem lösen. Ich habe nicht 2013, also kann ich nicht testen, leider.
Können Sie versuchen, es in das initialize-Ereignis oder versuchen, ein activate-Ereignis wie diesem:
Ian, ich habe meine test-code. Könnte Sie nach Ihrem code, so können wir die Unterschiede sehen? Beachten Sie, dass ich den Aufruf von form2 den ersten und dann den button auf form2 form1 Aufrufe
Hallo, ich habe gerade meinen Beitrag aktualisiert mit den verwendeten code. Dank
Ok, nur um die Dinge zu verwirren....es funktioniert perfekt auf excel 2007 jedoch auf 2013, es zeigt immer noch falsch.
Versuchen Umschalten der Zeilenumbruch. Siehe mein edit und den link zu einem anderen Beitrag habe ich gefunden.
InformationsquelleAutor Portland Runner
Mein Programm mit visual basic in Excel, works out-Daten dann präsentiert Sie in einer textbox. Es funktioniert perfekt in Excel 2010 zeigt aber nur unlesbare pixel-hoch-Ausgabe in Excel 2013, unabhängig davon, wie Sie die Schriftgröße in der textbox-Eigenschaften-Abschnitt.
Mithilfe der obigen Kommentare, die ich gefunden, drehen Sie die multiline-Eigenschaft auf und ab, unmittelbar bevor die Daten angezeigt werden, diente als eine Abhilfe für dieses verdammte problem.
Meine Daten gesammelt wurde, in eine string-variable mit dem Namen "Antwort", also die letzten Zeilen meines Programms Lesen sich wie folgt:
InformationsquelleAutor Martin Williams
Hatte das gleiche Problem und dieses Problem behoben.
InformationsquelleAutor Tylor Hess
Wurde diese plagen mich schon seit ich ein Upgrade auf 2013 zu Beginn dieses Jahres. Nach vielen versuchen und unter Verwendung was ist in diesem Pfad zusammen mit anderen Untersuchungen, ich habe eine Lösung gefunden, die funktioniert. Das problem ist, dass "focus" muss gesetzt sein. So dass die endgültige Codierung, die für mich gearbeitet ist
Danke an alle. 🙂
InformationsquelleAutor Chris
Ich löste das problem in einer anderen Weise:
Ich habe zwei Textfelder und füllte Sie mit dem gleichen Inhalt. Während der Ausführung des Codes, die ich beobachtet habe, welche der beiden Textfelder zeigte die Schrift unlesbar. Die Laufzeit ich drehte Sichtbarkeit der textbox auf False.
Dauert es möglicherweise einige Versuch und Irrtum, weil die position der Textboxen auf der userform scheint wichtig zu sein.
Andere option ist das erstellen eines zweiten (identischen) Textfeld, und positionieren Sie den einen mit dem falschen fontsize außerhalb der userform.
Sicherstellen, dass die gleichen Inhalte in beiden Textfelder machen und alle Attribute identisch: enterkeybehavior, multiline, wordwrap
InformationsquelleAutor Meneer
Nur ein Nachtrag zu dem, was gesagt wurde, hier für Word-Nutzer vor dem gleichen problem.
Ich erfahren hatte das gleiche Problem und es scheint die Eigenschaft
TextBox.WordWrap
war das problem.Hier ist, wie können Sie dieses Problem lösen für Word-Benutzer:
Fügen Sie so etwas wie dieses:
Es ist ein workaround, aber nicht unbedingt das problem lösen.
InformationsquelleAutor Vasil
Ich hatte das gleiche problem. In meinem Fall keine der oben genannten Lösungen gearbeitet. Aber wenn ich änderte die top-position der textbox (z.B. Top-42 statt der Top 45) die Schrift erschien richtig.
InformationsquelleAutor Annie Hearts
Ich ve wurde kämpfen mit diesem für die letzten paar Stunden, aber schließlich eine Lösung gefunden. Aber zuerst, ich fand, dass Sie in der textbox ist es, was ausgelöst wurde die Schriftgröße der Erweiterung. Um es zu testen, habe ich mehrmals geklickt haben, in das Textfeld, dann klickte auf eine andere Zelle, ich habe dieses 4 oder 5 mal und schnell wurde klar, dass dies der übeltäter war. Die Schriftgröße erhöht in den gängigen MS-Office-Schritten (8, 9, 10, 11, 12, 14, etc.).
Fand ich auch, dass die einzige Sache, die setzt die Größe der schriftart an, was es werden sollte, war die Größe des textbox selbst. Für einige Grund, dass die Kräfte, die es neu zu laden Sie die Schriftgröße einstellen im Eigenschaften-Menü, unabhängig davon, was in den VBA-code. Sobald ich, dass herausgefunden, alles, was ich zu tun hatte, schreiben einige einfache code, ändert sich die Höhe der textbox durch ein oder zwei pixel, dann die nächste Zeile von code verändert sich die Höhe wieder auf den ursprünglichen Wert. Hier ist mein code:
Bam. Das Problem ist gelöst. Dieser code sollte ausgeführt werden, jedes mal, wenn der Wert in der textbox der verknüpften Zelle ändert. Hoffe, dies hilft jemand anderes!
InformationsquelleAutor Bryan Shepherd
Für jemand kommen, um diese Frage von Google, und Frage mich, wie man die schriftart ändern, die Größe einer textbox oder label-Steuerelement, da nur die Schrift-Familie zu sein scheint konfigurierbare
Gibt es eine kleine Schaltfläche mit
...
nur auf der rechten Seite den Namen der Schrift klicken.Andernfalls können Sie immer verwenden Sie den code:
InformationsquelleAutor gibberish