Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Schriftgröße in Textbox anpassen

Schriftgröße in Textbox anpassen
24.08.2008 14:25:00
Kai
Hallo
Ich habe eine Textbox, die mit einer Zelle verlinkt ist, so da die Box den Text aus der Zelle anzeigt.
Die Box ist mit Zeilenumbruch eingerichtet.
Wenn der Text zu lang ist, dann wird der Rest abgeschnitten.
Gibt es eine Möglichkeit, die Box so einzurichten, das sich die Schriftgröße automatisch ändert und der Text immer in die Box passt?
Grüße
Kai
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: autosize
24.08.2008 14:43:29
hary
Hallo Kai
Autosize auf true, muesste helfen
gruss Hary
AW: Schriftgröße in Textbox anpassen
24.08.2008 15:42:43
Daniel
Hi
wenn die Textboxgrösse nicht geändert werden soll, dann brauchst du dieses Makro im Modul des Tabellenblatts mit der Textbox:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngAktZelle As Range
Set rngAktZelle = ActiveCell
With TextBox1
If Not Intersect(Range(.LinkedCell), Target) Is Nothing Then
.Activate
.SelStart = 0
.Font.Size = 10
Do Until ((.Font.Size + 2) * .LineCount + 5) 


dabei wird die Schriftgrösse soweit verkleinert, bis der ganze Text in die Textbox passt.
da die gesamthöhe des Textes berechnet wird und nicht aus dem System abgefragt wird, musst du u.U mit den Parameteren 2 und 5 etwas rumspielen, um für deinen Fall immer ein optimales ergebnis zu erhalten.
Gruß, Daniel

Anzeige
AW: Schriftgröße in Textbox anpassen
24.08.2008 19:04:00
Kai
Hallo Ransi
Bei meiner Anfrage geht es darum, einen Text auf eine Karte für ein Spiel zu bringen. Da die Karte eine feste Größe hat bringt mit AutoSize nichts. Die Textgröße muss kleiner werden. Da "an Zellengröße anpassen" und "Zeilenumbruch" zusammen nicht geht ist die Lösung von Daniel genau das, was ich brauche.
Hallo Daniel und Danke
Ich habe in der Tabelle eine Menge Blätter. Das Blatt mit der TextBox heißt Frontneu. Ich habe das Makro abwechselnd im "Module-Modul1" (das einzige Modul), "MS Excel Objekte-Tabelle16(Frontneu)" und in "DieseArbeitsmappe" gespeichert.
Bei keiner Version tut sich was an der Schriftgröße der Textbox, wenn ich in der Zelle von Hand Text ändere.
Was mache ich falsch?
Dazu: Die Zelle soll sich später per Sverweis Ihren Text holen. D.h. auf Blatt work ändere ich eine Zelle. Damit holt sich die Zelle in Frontneu per Sverweis Text von Blatt Ranger. Ändert sich dann die Textgröße oder erst wenn ich auf die Seite gehe.
Grüße
Kai
Anzeige
AW: Schriftgröße in Textbox anpassen
24.08.2008 19:26:20
Daniel
Hi
kann ich mir so nicht vorstellen, was du da machst.
hier mal ne Beispieldatei, in der es funktioniert (eingabezelle ist A1, änderung per hand)
auf dem 2. Blatt habe ich ein Beispiel, wenn die Zelle A1 per Formel befüllt wird.
hier muss dann das CALCULATE-Event verwendet werden.
https://www.herber.de/bbs/user/54862.xls
Gruß, Daniel
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Schriftgröße in Textbox anpassen


Schritt-für-Schritt-Anleitung

  1. Textbox erstellen: Füge eine TextBox in dein Excel-Arbeitsblatt ein. Du findest diese unter "Entwicklertools" > "Einfügen" > "TextBox".

  2. TextBox mit Zelle verlinken: Klicke mit der rechten Maustaste auf die TextBox, wähle "Eigenschaften" und setze die LinkedCell auf die Zelle, die den Text enthält.

  3. Zeilenumbruch aktivieren: Setze WordWrap auf True, damit der Text in der Box umgebrochen wird.

  4. VBA-Makro hinzufügen: Öffne den VBA-Editor (Alt + F11) und füge das folgende Makro in das entsprechende Modul ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim rngAktZelle As Range
       Set rngAktZelle = ActiveCell
       With TextBox1
           If Not Intersect(Range(.LinkedCell), Target) Is Nothing Then
               .Activate
               .SelStart = 0
               .Font.Size = 10
               Do Until ((.Font.Size + 2) * .LineCount + 5) > .Height
                   .Font.Size = .Font.Size + 2
               Loop
           End If
       End With
    End Sub
  5. Makro testen: Ändere den Text in der verlinkten Zelle und überprüfe, ob sich die Schriftgröße in der TextBox automatisch anpasst.


Häufige Fehler und Lösungen

  • Makro funktioniert nicht: Stelle sicher, dass das Makro im richtigen Modul gespeichert ist. Es sollte sich im "MS Excel Objekte" Bereich des Blattes befinden, das die TextBox enthält.

  • Text wird abgeschnitten: Überprüfe die Höhe der TextBox. Wenn die Box zu klein ist, kann die Schriftgröße nicht weiter angepasst werden. Du kannst die TextBox manuell vergrößern.

  • Änderung der Zelle hat keine Auswirkung: Wenn du die Zelle per Sverweis änderst, musst du möglicherweise das Calculate-Ereignis verwenden, um die TextBox zu aktualisieren.


Alternative Methoden

  • Excel Schriftgröße an Zellgröße anpassen: Anstatt eine TextBox zu verwenden, kannst du auch direkt in die Zelle schreiben und die Schriftgröße an die Zellengröße anpassen. Dies funktioniert gut, wenn du die Zellenhöhe und -breite anpassen kannst.

  • Verwendung von Formeln: Du kannst Formeln nutzen, um den Text dynamisch zu gestalten, ohne VBA. So bleibt der Text immer in der Zelle sichtbar, ohne dass du die Schriftgröße manuell anpassen musst.


Praktische Beispiele

  • Beispiel 1: Du hast eine TextBox, die den Inhalt von Zelle A1 anzeigt. Wenn du "Hallo Welt!" in A1 schreibst, wird die Schriftgröße in der TextBox so angepasst, dass der gesamte Text sichtbar ist.

  • Beispiel 2: Setze eine TextBox auf einen festen Platz in einer Präsentation und verlinke sie mit einer Zelle in deiner Excel-Tabelle. So kannst du die Schriftgröße in der TextBox automatisch anpassen, wenn sich der Inhalt der Zelle ändert.


Tipps für Profis

  • Automatisierung: Nutze das Worksheet_Change-Ereignis, um alle TextBoxen in einem Blatt zu aktualisieren, wenn sich eine Zelle ändert. Das macht Deine Tabelle interaktiver.

  • Spezifische Schriftgrößen: Experimentiere mit den Werten in der Do Until-Schleife, um die Schriftgröße optimal an Deine Bedürfnisse anzupassen.


FAQ: Häufige Fragen

1. Wie kann ich die Schriftgröße automatisch an die Zellengröße anpassen? Verwende das oben beschriebene VBA-Makro, um die Schriftgröße dynamisch an die Größe der TextBox anzupassen.

2. Funktioniert das auch in Excel Online? Das VBA-Makro funktioniert nur in Desktop-Versionen von Excel. In Excel Online gibt es derzeit keine Unterstützung für VBA.

3. Wie kann ich die TextBox vergrößern? Du kannst die Größe der TextBox manuell durch Ziehen der Ecken oder Seiten anpassen. Das hilft, mehr Text anzuzeigen, falls die Schriftgröße nicht ausreicht.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige