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

Forumthread: Textbox per VBA einfügen

Textbox per VBA einfügen
JensF
Hallo Leute,
mit diesem Code füge ich eine horizontale Textbox ein:

Sub TextfeldEinfügen()
Dim TextShape As Shape
Set TextShape = ActiveSheet.Shapes.AddLabel(msoTextOrientationHorizontal, 20, 20, 1, 1)
TextShape.TextFrame.AutoSize = True
TextShape.TextFrame.Characters.Text = "blabla"
End Sub

In meinem Excel 2010 wird der Text horizontal eingefügt. In meinem Excel2007 erscheinen die Buchstaben untereinander. Woran könnte das liegen? Durch das Autosize und OrientationHorizontal müsste der Text doch nach rechts laufen.
Viele Grüße
Jens
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Test ergab keine Probleme
13.08.2010 03:39:39
Matthias
Hallo Jens
Mein Test mit XL2000 = ok
Mein Test mit XL2007 = ok
Prüf mal ob AutoSize wirklich True ist
Sub TextfeldEinfügen()
Dim TextShape As Shape
Set TextShape = ActiveSheet.Shapes.AddLabel(msoTextOrientationHorizontal, 20, 20, 1, 1)
TextShape.TextFrame.AutoSize = True
MsgBox "Test: Autosize = " & TextShape.TextFrame.AutoSize
TextShape.TextFrame.Characters.Text = "Mein waagerechter Text"
End Sub
weiterer Test:
Wenn AutoSize=False ist, erscheinen die Buchstaben untereinander.
Gruß Matthias
Anzeige
AW: Test ergab keine Probleme
13.08.2010 08:10:47
JensF
Hallo Matthias,
danke für den Hinweis. Autosize ist wirklich TRUE. Habe jetzt festgestellt, dass ich mit
TextShape.TextFrame2.WordWrap = msoFalse
verhindern kann dass die Buchstaben untereinander kommen. Aber ich finde gar nicht die Stelle, wo ich manuell in Excel einstellen kann ob das Textfeld einen Zeilenumbruch hat oder nicht. Komisch.
Grüße Jens
Anzeige
;

Forumthreads zu verwandten Themen

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

Textbox per VBA in Excel einfügen


Schritt-für-Schritt-Anleitung

Um eine Textbox in Excel per VBA einzufügen, kannst du den folgenden Code verwenden:

Sub TextfeldEinfügen()
    Dim TextShape As Shape
    Set TextShape = ActiveSheet.Shapes.AddLabel(msoTextOrientationHorizontal, 20, 20, 1, 1)
    TextShape.TextFrame.AutoSize = True
    TextShape.TextFrame.Characters.Text = "blabla"
End Sub
  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Füge den obigen Code in ein neues Modul ein.
  3. Schließe den VBA-Editor und führe das Makro aus, um die Textbox zu erstellen.

Häufige Fehler und Lösungen

Problem: Text in der Textbox wird untereinander dargestellt.

Lösung: Stelle sicher, dass die Eigenschaft AutoSize auf True gesetzt ist und der Zeilenumbruch deaktiviert ist:

TextShape.TextFrame2.WordWrap = msoFalse

Problem: Das Einfügen eines Textfeldes in Excel funktioniert nicht.

Lösung: Überprüfe, ob du die richtige Excel-Version verwendest und dass deine Excel-Installation nicht beschädigt ist.


Alternative Methoden

Eine alternative Methode zum Erstellen einer Textbox ist die Verwendung von Formeln in Excel. Du kannst auch ein Textfeld manuell über das Menü einfügen:

  1. Gehe zu Einfügen > Text > Textfeld.
  2. Zeichne das Textfeld auf deinem Arbeitsblatt.

Du kannst dann die Größe und Form des Textfeldes anpassen, bevor du Text hinzufügst.


Praktische Beispiele

Ein Beispiel, um eine Textbox mit einem bestimmten Text zu erstellen:

Sub TextfeldMitTextEinfügen()
    Dim TextShape As Shape
    Set TextShape = ActiveSheet.Shapes.AddLabel(msoTextOrientationHorizontal, 40, 40, 200, 50)
    TextShape.TextFrame.Characters.Text = "Dies ist ein Beispieltext"
    TextShape.TextFrame.AutoSize = True
End Sub

Wenn du den obigen Code ausführst, wird eine Textbox mit einem vordefinierten Text erstellt.


Tipps für Profis

  • Nutze Variablen, um die Position und Größe der Textbox dynamisch anzupassen.
  • Verwende eine Schleife, um mehrere Textboxen in einem Rutsch zu erstellen.
  • Experimentiere mit verschiedenen Eigenschaften der Textbox, um das gewünschte Aussehen zu erzielen, wie z.B. Rahmen und Hintergrundfarbe.
  • Wenn du in Word arbeitest, kannst du ähnliche VBA-Techniken verwenden, um Textboxen in Word einzufügen.

FAQ: Häufige Fragen

1. Wie kann ich eine Textbox in Excel einfügen, wenn das AutoSize nicht funktioniert? Überprüfe, ob AutoSize wirklich auf True gesetzt ist und deaktiviere den Zeilenumbruch.

2. Warum erscheinen die Buchstaben in meiner Textbox untereinander? Das könnte an der Einstellung für WordWrap liegen. Setze TextShape.TextFrame2.WordWrap = msoFalse, um dies zu verhindern.

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