Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Text in Textfeld formatieren

Text in Textfeld formatieren
21.12.2014 20:18:52
siegfried
Hallo zusammen,
ich möchte Text in einem Textfeld (im Tabellenblatt) unterschiedlich formatieren
(TextTeil1 mit Typ1, TextTeil2 mit Typ3) und komme im Moment nicht so recht weiter.
Bei TextTeil1 handelt es sich um einen Buchstaben, bei TextTeil2 um eine Zahl,
bei Typ handelt es sich um die Schriftart
Typ1 = "Symbol"
Typ2 = "Arial"
Typ3 = "Wingdings"
TextTeil1 = Chr(Zeichen)
TextTeil2 = Chr(Sign)
TextKompakt = TextTeil1 & TextTeil2
With ActiveSheet.Shapes(ShpZähler)
.TextFrame.Characters.Text = TextKompakt
.TextFrame.MarginLeft = 0
.TextFrame.MarginTop = 0
.TextFrame.Characters().Font.Bold = True
.TextFrame.Characters().Font.Size = 12
End With
Wie muss ich vorgehen?
Gruß
Siegfried

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Text in Textfeld formatieren
21.12.2014 20:37:24
Daniel
Hi
als erstes solltest du dir eine andere Excelversion zulegen.
normalerweise könntest du solche Fragen recht einfach mit Hilfe des Recorders klären, aber die 2007er-Version von Excel zeichnet leider gerade im Grafikbereich nicht, oder nur sehr eingeschränkt auf.
also entweder 2003 oder 2010 oder 2013 verwenden, die 2007 ist murks (ist halt immer so, wenn was neu ist oder tiefgreifend überarbeitet wird, dann ist die erste Version immer fehlerhaft)
bei mir in Excel 2010 gehts so:
.TextFrame2.TextRange.Characters(1, 1).Font.Name = Typ1
.TextFrame2.TextRange.Characters(2, 1).Font.Name = Typ2
wobei die Paramter in Characters für:
1. Startposition der Formatierung
2. Anzahl Zeichen die so formatiert werden
dh wenn deine Zeichenketten länger als ein Zeichen sind, müsstst du hier rechnen:
.TextFrame2.TextRange.Characters(1, Len(Textteil1)).Font.Name = Typ1
.TextFrame2.TextRange.Characters(Len(TextTeil1) + 1, Len(TextTeil2)).Font.Name = Typ2
Gruß Daniel

Anzeige
AW: Text in Textfeld formatieren
21.12.2014 21:57:57
siegfried
Hallo Daniel,
vielen Dank, bei mir klappt es auch.
Gruß
Siegfried
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Text in Textfeld formatieren in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Excel: Stelle sicher, dass du eine geeignete Version von Excel verwendest (2003, 2010 oder 2013 empfohlen).

  2. Füge ein Textfeld hinzu: Gehe zu "Einfügen" > "Textfeld" und ziehe das Textfeld auf das Arbeitsblatt.

  3. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu starten.

  4. Neues Modul erstellen: Klicke mit der rechten Maustaste auf "VBAProject (deinArbeitsblatt)" > "Einfügen" > "Modul".

  5. VBA-Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub TextfeldFormatieren()
       Dim ShpZähler As Integer
       Dim Typ1 As String
       Dim Typ2 As String
       Dim TextTeil1 As String
       Dim TextTeil2 As String
    
       Typ1 = "Symbol"
       Typ2 = "Arial"
       TextTeil1 = Chr(65) ' Beispiel: Buchstabe A
       TextTeil2 = Chr(49) ' Beispiel: Zahl 1
       TextKompakt = TextTeil1 & TextTeil2
    
       With ActiveSheet.Shapes(ShpZähler)
           .TextFrame.Characters.Text = TextKompakt
           .TextFrame.Characters(1, 1).Font.Name = Typ1
           .TextFrame.Characters(2, 1).Font.Name = Typ2
           .TextFrame.MarginLeft = 0
           .TextFrame.MarginTop = 0
           .TextFrame.Characters().Font.Bold = True
           .TextFrame.Characters().Font.Size = 12
       End With
    End Sub
  6. Makro ausführen: Schließe den VBA-Editor und führe das Makro über ALT + F8 aus.


Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden": Stelle sicher, dass das Textfeld im Arbeitsblatt vorhanden ist und korrekt benannt wurde.
  • Lösung: Prüfe den Zähler ShpZähler, um sicherzustellen, dass er auf das richtige Textfeld verweist.
  • Fehler: Formatierung wird nicht angewendet: Wenn die Formatierungen nicht erscheinen, könnte dies an der falschen Excel-Version liegen. Verwende idealerweise Excel 2010 oder höher.

Alternative Methoden

Eine weitere Möglichkeit, ein Excel Textfeld zu formatieren, besteht darin, die Formatierung manuell im Textfeld vorzunehmen:

  1. Klicke mit der rechten Maustaste auf das Textfeld und wähle "Text formatieren".
  2. Ändere die Schriftart und andere Eigenschaften nach Bedarf.

Praktische Beispiele

Angenommen, du möchtest ein Textfeld in Excel formatieren, das einen Buchstaben und eine Zahl enthält:

  • Buchstabe: A (Unicode 65)
  • Zahl: 1 (Unicode 49)

Verwende den oben genannten VBA-Code, um die Schriftarten entsprechend zu setzen, sodass der Buchstabe in "Symbol" und die Zahl in "Arial" erscheint.


Tipps für Profis

  • Experimentiere mit verschiedenen Schriftarten und -größen, um das Design deines Textfeldes Excel anzupassen.
  • Nutze die Funktion Chr() zur Eingabe von Unicode-Zeichen für kreative Inhalte.
  • Denke daran, dass du auch die Excel Zelle als Textfeld formatieren kannst, indem du die Zelle auswählst und dann die Formatierungsoptionen anwendest.

FAQ: Häufige Fragen

1. Wie kann ich den Text im Textfeld bearbeiten?
Du kannst den Text im Textfeld direkt im Arbeitsblatt anklicken und bearbeiten. Alternativ kannst du auch im VBA-Code den Text anpassen, bevor du das Makro ausführst.

2. Welche Excel-Version ist am besten für die Textfeldformatierung geeignet?
Excel 2010 oder höher bietet die besten Funktionen zur Formatierung von Textfeldern, da ältere Versionen wie 2007 einige Einschränkungen aufweisen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige