Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1220to1224
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
per VBA Schriftgrösse an Textbox anpassen
Mandy
Hallo,
Habe auf einem Tabellenblatt eine Textbox, die hat eine feste Grösse. Nun wird Text in die Textbox kopiert, mal mehr mal weniger.
Manchmal ist so viel Text drin, dass dieser am Ende nicht mehr sichtbar ist.
Gibt es per VBA die Möglichkeit, die Grösse der Schrift so anzupassen, dass immer der komplette Text in die Textbox passt ? Also je mehr Text, um so kleiner sie Schriftgrösse.
Danke
Mandy

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: per VBA Schriftgrösse an Textbox anpassen
07.07.2011 12:43:08
MichaV
Hallo Mandy,
das geht nur mit basteln und ausprobieren. Du musst eine Monospace- Schriftart verwenden, damit Worte mit vielen schmalen Buchstaben genauso lang sind wie Worte mit breiten Buchstaben. Dann zählst Du aus ab welcher Länge Du welche Schriftgrösse einsetzen willst.

select case len(textbox1.text)
case is

Aber auch das ist nur ein Behelf.
Gruss- Micha
AW: per VBA Schriftgrösse an Textbox anpassen
07.07.2011 12:57:43
Nepumuk
Hallo,
oder du machst es dynamisch.
Option Explicit

Private Sub TextBox1_Change()
    Const TEXTBOX_HEIGHT = 85 'anpassen !!!
    Const TEXTBOX_WIDTH = 165 'anpassen !!!
    Application.ScreenUpdating = False
    With TextBox1
        If .TextLength > 0 Then
            .AutoSize = True
            If .Height > TEXTBOX_HEIGHT Then
                Do While .Height > TEXTBOX_HEIGHT
                    .Font.Size = .Font.Size - 0.1
                    .Width = TEXTBOX_WIDTH
                Loop
            Else
                Do While .Height < TEXTBOX_HEIGHT
                    .Font.Size = .Font.Size + 0.1
                    .Width = TEXTBOX_WIDTH
                Loop
                If .Height > TEXTBOX_HEIGHT Then _
                    .Font.Size = .Font.Size - 0.1
            End If
            .AutoSize = False
            .Width = TEXTBOX_WIDTH
            .Height = TEXTBOX_HEIGHT
        Else
            .Width = TEXTBOX_WIDTH
            .Height = TEXTBOX_HEIGHT
            .Font.Size = 10
        End If
    End With
    Application.ScreenUpdating = True
End Sub

Gruß
Nepumuk
Anzeige
AW: per VBA Schriftgrösse an Textbox anpassen
07.07.2011 13:34:11
MichaV
Hallo Nepumuk,
dass die Textbox ne Autosize- Eigenschaft hat wusste ich garnicht. Dein Code funzt bei mir trotzdem nicht, die Konstanten für Height und Width habe ich angepasst, Textbox und Text bleibt immer gleich gross. Kanns an XL2007 liegen?
Gruss- Micha
AW: per VBA Schriftgrösse an Textbox anpassen
07.07.2011 13:50:54
Nepumuk
Hallo Micha,
hast du Multiline auch auf True gestellt?
Gruß
Nepumuk
AW: per VBA Schriftgrösse an Textbox anpassen
07.07.2011 13:55:50
MichaV
Hallo Nepumuk,
nö, hab ich wohl überlesen :-)
Jetzt funzt es, Danke.
Gruss- Micha
Coole Sache, vielen Dank owT
07.07.2011 15:01:04
Mandy
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige