Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Textfeld einfügen per Makro

Textfeld einfügen per Makro
Enrico
Hallo
Ich füge per Makro ein Textfeld in ein Diagramm ein.
Ein Problem habe ich dabei.
Immer wenn ich das tue bekommt das Textfeld eine neue Nummer
(Textfeld 60 .......61 usw.)
Somit ist das gezielte Löschen mit einem 2. Makro schwierig.
Wieviele Textfelder könnte ich denn theor. erzeugen?
oder ..... Wie kann ich das besser umsetzen.
Sub Beschriftung()
Application.ScreenUpdating = False
ActiveChart.Shapes.AddLabel(msoTextOrientationHorizontal, 20#, 20, 0# _
, 0#).Select
Selection.ShapeRange(1).TextFrame.AutoSize = msoTrue
Selection.Characters.Text = Beschriftung_var
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 9
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.Solid
End Sub
Vielen Dank
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Textfeld einfügen per Makro
16.02.2010 13:57:45
Josef
Hallo Enrico,

das geht z.B. so.

Sub Beschriftung()
  Dim objShp As Object
  Set objShp = ActiveChart.Shapes.AddLabel(msoTextOrientationHorizontal, 20#, 20, 0#, 0#)
  With objShp
    .Name = "beliebieger Name"
    With .TextFrame
      .AutoSize = msoTrue
      .Characters.Text = "Beschriftung_var"
    End With
    .Fill.ForeColor.SchemeColor = 9
  End With
End Sub

Gruß Sepp

Anzeige
Geb der Textbox einfach einen Namen per Makro...
16.02.2010 13:58:46
Björn
Hallo,
wenn du immer einen definierten (und aussagekräftigen) Namen für Deine Elemente vergibst, dann kannst du sie immer ansprechen und weißt auch beim LEsen des Codes, was das "Ding" macht.
Z.B. Variable "x "sagt gar nichts aus. Variable "Zeile". Aha, hier handelt es sich um eine Variable, die für Bestimmung oder Identifikation der Zeile dient.
Z.B. Textbox 1 sagt nur aus, dass es eine Textbox ist. tbStrasse sagt aus, dass es eine Textbox ist, in der die Straße steht. Verstanden?
Du kannst nach dem Erstellen der Textbox auch gleich den Namen per Makro ändern.
Irgendwie so:
Selection.Name = "tb_was_weiss_ich"
Wenn das nicht geht, einfach mal den Makrorekorder benutzen.
Wenn das Teil dann immer den gleichen Namen hat, dürfte das Löschen nicht schwerfallen.
Gruß
Björn B.
Anzeige
AW: Geb der Textbox einfach einen Namen per Makro...
16.02.2010 14:22:48
Enrico
Danke
funktioniert super
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Textfeld in Excel-Diagramm per Makro einfügen


Schritt-für-Schritt-Anleitung

Um ein Textfeld in ein Excel-Diagramm per Makro einzufügen, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Öffne Excel und erstelle ein Diagramm, in das du ein Textfeld einfügen möchtest.

  2. Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Füge ein neues Modul hinzu:

    • Rechtsklick auf „VBAProject (DeineDatei.xlsx)“ > „Einfügen“ > „Modul“.
  4. Kopiere und füge den folgenden Code ein:

    Sub Beschriftung()
       Dim objShp As Object
       Set objShp = ActiveChart.Shapes.AddLabel(msoTextOrientationHorizontal, 20#, 20, 0#, 0#)
       With objShp
           .Name = "tb_Beschriftung" ' Hier kannst du den Namen anpassen
           With .TextFrame
               .AutoSize = msoTrue
               .Characters.Text = "Dein Text hier" ' Den Text anpassen
           End With
           .Fill.ForeColor.SchemeColor = 9
       End With
    End Sub
  5. Ändere den Text und den Namen des Textfelds nach deinen Wünschen.

  6. Führe das Makro aus: Gehe zurück zu Excel, drücke ALT + F8, wähle „Beschriftung“ und klicke auf „Ausführen“.


Häufige Fehler und Lösungen

  • Fehler: Das Textfeld wird nicht angezeigt.

    • Lösung: Stelle sicher, dass das Diagramm aktiv ist, bevor du das Makro ausführst.
  • Fehler: Das Textfeld hat eine inkonsistente Nummerierung.

    • Lösung: Vergib einen festen Namen für das Textfeld im Makro (z.B. .Name = "tb_Beschriftung"), um die Identifizierung zu erleichtern.

Alternative Methoden

Eine alternative Methode, um Textfelder in Excel-Diagramme einzufügen, ist die Verwendung des Makrorekorders:

  1. Starte den Makrorekorder: Gehe zu „Entwicklertools“ > „Makro aufzeichnen“.
  2. Füge manuell ein Textfeld ein.
  3. Beende die Aufzeichnung und schaue dir den generierten Code an. Du kannst diesen Code in deinem VBA-Projekt anpassen.

Praktische Beispiele

Hier sind einige praktische Beispiele für das Einfügen von Textfeldern in Diagramme:

  • Beispiel 1: Füge ein Textfeld hinzu, das die Anzahl der verkauften Produkte anzeigt.
  • Beispiel 2: Erstelle ein Textfeld mit dem Titel des Diagramms, um es zu beschriften.
Sub BeispielTextfeld()
    Dim objShp As Object
    Set objShp = ActiveChart.Shapes.AddLabel(msoTextOrientationHorizontal, 50, 50, 100, 20)
    With objShp
        .Name = "tb_Verkaeufe"
        .TextFrame.Characters.Text = "Verkäufe: 150"
    End With
End Sub

Tipps für Profis

  • Verwende aussagekräftige Namen für deine Textfelder, um die Lesbarkeit und Wartbarkeit des Codes zu verbessern.
  • Nutze die AutoSize-Eigenschaft, um sicherzustellen, dass das Textfeld automatisch an den Text angepasst wird.
  • Experimentiere mit verschiedenen Füllfarben und Schriftarten, um das Diagramm ansprechender zu gestalten.

FAQ: Häufige Fragen

1. Wie viele Textfelder kann ich theoretisch in ein Diagramm einfügen?
Es gibt keine feste Grenze, aber die Performance von Excel kann beeinträchtigt werden, wenn zu viele Objekte vorhanden sind.

2. Kann ich die Position des Textfeldes anpassen?
Ja, du kannst die Werte für die X- und Y-Koordinaten im Code anpassen, um die Position des Textfeldes zu ändern.

3. Wie kann ich ein Textfeld später wieder löschen?
Du kannst das Textfeld mit seinem Namen ansprechen und die Delete-Methode verwenden:

ActiveSheet.Shapes("tb_Beschriftung").Delete

4. Funktioniert das Makro in allen Excel-Versionen?
Die meisten grundlegenden VBA-Befehle funktionieren in Excel 2007 und neueren Versionen.

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