# [VBA Excel] Text in Textfeld schreiben



## MAN (11. August 2004)

Hallo,

ich habe meine Exceltabelle, wo ich per Button ein Event auslöse.
In diesem Event will ich einem Textfeld einen Text zuweisen.

Ich habe schon folgendes dafür gefunden:

```
Tabelle1.Shapes("meinTextfeld").Select
Selection.Characters.Text = "test"
```
Somit wird aber erst das Textfeld markiert, und dann erst der Text reingeschrieben. Wenn ich aber 50 Textfelder habe, und er erst alle markieren muss um Text reinzuschreiben ist das wirklich bescheiden...

Hätte jemand eine Lösung, wie man es durch direktes ansprechen von zum Beispiel einer Eigenschaft "Text" besser machen kann?

mfG,
MAN


----------



## Julian Maicher (11. August 2004)

meinTextfeld.Text = "test"


----------



## MAN (11. August 2004)

Genau das ist es eben nicht: ein gewöhnliches Textfeld!

Mein Textfeld ist auf dem ExcelTabellenBlatt, und zwar aus der Symbolleiste "Zeichnen". Dort gibt es ebenfalls ein Textfeld, welches man dann auf das Blatt tun kann und Text reinschreiben. Und genau DIESES wollte ich per Makro ansprechen und Text reinschreiben.

mfG,
MAN


----------



## Retlaw (11. August 2004)

Hab mir das im Objektkatalog mal angeschaut, es scheint wirklich keine Eigenschaften/Methoden zu geben um direkt auf den Inhalt zuzugreifen.

Wenns dir mit Select zu langsam ist wäre das vielleicht eine alternative:
Verwende anstatt der Textfelder aus der "Zeichnen"-Leiste die Textfelder aus der Werkzeugleiste von VBA und stell die Eigenschaft BorderStyle auf 1, dann sehen die genauso aus.
Nachteil: Lassen sich nur im Entwurfsmodus verschieben/Größe ändern.


----------



## MAN (11. August 2004)

Gut, jetzt hab' ich es mit Visual Basic-Textboxen gemacht. Läuft prima!

Vielen Dank!

mfG,
MAN


----------



## samuraiMJ (21. Dezember 2007)

Hallo zusammen.

Klar, die textboxen sehen auf den ersten Blick gleich aus. Ich habe aber das Problem, dass die VBA Textbox keine Abstände zwischen den Zeichen macht. Weiss jemand eine Lösung?


----------



## paddy2706 (12. September 2008)

Ich weiss, dass diese Frage uralt ist, aber da sie einen hohen Google-Rank hat und noch keine Korrekte Antwort, möchte ich diese hier geben:


```
ActiveSheet.Shapes("AutoShape1").Textframe.Characters.Text = "Test"
```

Damit kann man direkt ohne .Select auf den Text zugreifen (sowohl lesend als auch schreibend)


----------

