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

Textfeld per vba ausfüllen

Forumthread: Textfeld per vba ausfüllen

Textfeld per vba ausfüllen
24.10.2006 12:38:24
Lueckii
Hallo Zusammen!
Ich habe auf einem Tabellenblatt 5 Diagramme. Nun würde ich gerne in jedes Diagramm oben rechts ein Textfeld mit dem aktuellen Jahr, welches per in einer bestimmten Zelle steht, einfügen. Geht sowas?
Gruß Martin
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textfeld per vba ausfüllen
24.10.2006 13:04:05
Daniel Eisert
Hallo
ja, das geht, Textbox von Hand erstellen und dann mit folgendem Befehl:
ActiveChart.Shapes("Text Box 1").Characters.Text = "Hallo du da"
die Bezeichungn Textbox 1 musst du halt entsprechend anpassen, so wie die Textbox heißt.
Das siehst du, wnn du die Textbox anklickst in der linken oberen Ecke vom sheet.
wenn das Chart in einem normalen Sheet steht, dann siehts so aus, wie man hier das Select wegbekommt, habe ich noch nicht rausgefunden.
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.Shapes("Text Box 1").Select
Selection.Characters.Text = "Tach auch"
Gruß, Daniel
Anzeige
AW: Textfeld per vba ausfüllen
24.10.2006 13:07:26
Thorsten_Z
Hallo Martin,
kopiere die entsprechende Zele und füge über Bearbeiten (Shift-Taste gedrückt halten) das "Verknüpfte Blid" ein. Änderst du nun den Wert in der Zelle, ändert sich auch der Wert in dem Bild.
Lasse Frage aber noch offen, weil du ja nach VBA gefragt hast. Da habe ich kein Plan.
Rückmeldung wäre nett
gruss Thorsten
Anzeige
AW: Textfeld per vba ausfüllen
24.10.2006 13:53:15
lueckii
Hallo Thorsten.
Danke für den Tip. Allerdings mach ich das lieber mit VBA, weil ich da auch gleich ein textfeld mit einfügen kann. Ich hab eigentlich über 300 Diagramme, und da in jedes einzelene was einzufügen wär n bißchen stressig (insbesondere im hinblick auf Änderungen)
Gruß Martin
Anzeige
AW: Textfeld per vba ausfüllen
24.10.2006 13:54:48
Daniel Eisert
Hallo
das wäre auch von mir die bevorzugte Variante.
Gruß, Daniel
AW: Textfeld per vba ausfüllen
24.10.2006 13:23:04
lueckii
Hallo Daniel!
Danke für den tip. Ich hab jetzt den Code in mein Vba Makro eingefügt und es funktioniert. Das einzigste Problem ist, daß bei einem Diagramm die Textbox Textbox 5 heißt und nicht Textbox1. D.h., Ich muß immer während das Makro läuft Im Debumodujs den Namen für ein Diagramm in Textbox5 ändern und dann wieder zurück. Warscheinlich hab ich das Textfeld in dem Sheet schon mal gelöscht, und Excel vergibt den Namen ja automatisch. Weißt du zufällig, ob manden Namen des Feldes wiedert in Textbox 1 zurückändern kann?
Gruß
Anzeige
AW: Textfeld per vba ausfüllen
24.10.2006 13:33:10
Daniel Eisert
Hallo,
falls du den Namen der Textbox ändern willst, das geht auch in dem Feld oben links, wo er angezeigt wird.
Dort einfach überschreiben.
oder Textbox anklicken, in den VBA-Editor in Direktfenster wechseln und mit
SELECTION.NAME = "neuer Name"
ändern.
?SELTECTION.NAME zeigt den aktuellen Namen an.
Gruß, Daniel
Anzeige
AW: Textfeld per vba ausfüllen
24.10.2006 13:51:05
Lueckii
Hi Daniel!
Vielen Dank. Hat geklappt.
Gruß Martin
;
Anzeige

Infobox / Tutorial

Textfeld in Excel-Diagrammen per VBA automatisieren


Schritt-für-Schritt-Anleitung

Um ein Textfeld in ein Excel-Diagramm per VBA einzufügen, folge diesen Schritten:

  1. Öffne das Excel-Dokument, in dem du das Diagramm hast.

  2. Öffne den VBA-Editor, indem du ALT + F11 drückst.

  3. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" wählst.

  4. Kopiere den folgenden Code in das Modul:

    Sub TextfeldInDiagrammEinfügen()
       Dim chartObj As ChartObject
       Set chartObj = ActiveSheet.ChartObjects("Diagramm 1") ' Ändere den Namen des Diagramms
    
       ' Textfeld hinzufügen
       With chartObj.Chart.Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 10, 200, 50)
           .TextFrame.Characters.Text = ActiveSheet.Range("A1").Value ' Ändere die Zelle nach Bedarf
           .Name = "Text Box 1" ' Name des Textfelds
       End With
    End Sub
  5. Ändere "Diagramm 1" in den Namen deines Diagramms und die Zelle "A1" in die Zelle, die das Jahr enthält.

  6. Schließe den VBA-Editor und führe das Makro aus, indem du ALT + F8 drückst und "TextfeldInDiagrammEinfügen" auswählst.


Häufige Fehler und Lösungen

  • Fehler: "Diagramm nicht gefunden"

    • Stelle sicher, dass der Name des Diagramms im Code korrekt ist. Du kannst den Namen im Excel-Diagramm überprüfen.
  • Fehler: Textfeld erscheint nicht

    • Überprüfe die Koordinaten, die im AddTextbox-Befehl angegeben sind. Möglicherweise ist das Textfeld außerhalb des sichtbaren Bereichs.
  • Fehler: Textfeld hat den falschen Namen

    • Wenn Excel automatisch den Namen des Textfelds ändert, kannst du diesen im VBA-Editor zurücksetzen, indem du den Namen anpasst.

Alternative Methoden

Falls du das Textfeld nicht per VBA einfügen möchtest, kannst du auch manuell vorgehen:

  1. Klicke auf das Diagramm.
  2. Gehe zu "Einfügen" > "Textfeld".
  3. Ziehe das Textfeld ins Diagramm und bearbeite den Text.
  4. Um das Textfeld mit einer Zelle zu verknüpfen, kannst du die Zelle kopieren und im Textfeld mit Bearbeiten > Verknüpftes Bild einfügen einfügen.

Diese Methode ist zwar nicht automatisiert, bietet jedoch eine schnelle Lösung.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du das VBA-Textfeld effizient einsetzen kannst:

  • Aktuelles Jahr hinzufügen: Du kannst den Code so anpassen, dass das aktuelle Jahr automatisch eingefügt wird:

    .TextFrame.Characters.Text = Year(Date)
  • Dynamische Daten anzeigen: Wenn du das Textfeld mit Werten aus verschiedenen Zellen füllen möchtest, ändere die Zelle im Code entsprechend.


Tipps für Profis

  • Erstelle ein Makro für mehrere Diagramme: Wenn du über 300 Diagramme hast, kannst du eine Schleife verwenden, um durch alle Diagramme zu iterieren und Textfelder hinzuzufügen.

    Dim chart As ChartObject
    For Each chart In ActiveSheet.ChartObjects
      ' Füge hier den Code für das Textfeld ein
    Next chart
  • Verwende benutzerdefinierte Formate: Du kannst das Aussehen des Textfeldes anpassen, indem du .Fill.ForeColor.RGB verwendest, um die Hintergrundfarbe zu ändern.


FAQ: Häufige Fragen

1. Wie kann ich den Namen eines Textfeldes ändern?
Du kannst den Namen im VBA-Editor oder direkt im Excel-Fenster oben links ändern, wenn das Textfeld ausgewählt ist.

2. Was tun, wenn das Diagramm nicht aktualisiert wird?
Stelle sicher, dass das Makro korrekt ausgeführt wird und dass die Zelle, von der das Textfeld den Wert bezieht, aktualisiert ist.

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