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

Forumthread: DiagrammName in VBA ermitteln

DiagrammName in VBA ermitteln
12.02.2017 21:19:27
ElmarS
Hallo liebe Excel-Profis,
ich finde es über Google leider einfach nicht:
Wenn ich ein Diagramm angeklickt habe, wie kann ich dann den Namen des Diagramms in VBA ermitteln?
per VBA muß ich den Namen in eine Variable übergeben, dann ins Blatt, Zellen auslesen, von denen ich zuvor die erste angeklickt habe und dann wieder in DIESES eine Diagramm rein, um denn abhängig von den ausgelesenen Zahlen die Balken im Diagramm formatieren zu können.
DiagName = ActiveChart.Name
funktioniert nicht.
Ich stelle mich wahrscheinlich furchtbar blöd an, ich weiß.
Danke für die Hilfe!
Elmar
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: DiagrammName in VBA ermitteln
12.02.2017 21:39:30
Beverly
Hi Elmar,
gibt es mehrere Diagramme? Falls nur 1 vorhanden ist, dann kannst du es ActiveSheet.ChartObjects(1) ansprechen ohne seinen Namen verwenden zu müssen. Falls du jedoch mehrere Diagramme hast und tatsächlich das gerade markierte meinst, dann kannst du dessen Namen z.B. so ermitteln:
Dim strDiaName As String
If TypeName(Selection) = "ChartArea" Then strDiaName = _
Application.Substitute(Selection.Parent.Name, ActiveSheet.Name & " ", "")

Bedingung dabei ist, dass die Diagrammfläche markiert wurde.


Anzeige
AW: DiagrammName in VBA ermitteln
13.02.2017 10:19:42
ElmarS
Hallo Karin,
vielen herzlichen Dank. Ja, es gibt so einige mehrere Diagramme. :-)
Ich werde es ausprobieren und mich zurückmelden.
Bis dann!
Elmar
;

Forumthreads zu verwandten Themen

Anzeige
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

Diagrammname in VBA ermitteln


Schritt-für-Schritt-Anleitung

Um den Namen eines Diagramms in VBA zu ermitteln, kannst du die folgenden Schritte befolgen:

  1. Diagramm auswählen: Klicke auf das Diagramm, dessen Namen du herausfinden möchtest.

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

  3. Neues Modul hinzufügen: Klicke mit der rechten Maustaste auf eine der Projektdateien und wähle „Einfügen“ > „Modul“.

  4. VBA-Code einfügen: Füge den folgenden Code in das Modul ein:

    Dim strDiaName As String
    If TypeName(Selection) = "ChartArea" Then
       strDiaName = Application.Substitute(Selection.Parent.Name, ActiveSheet.Name & " ", "")
       MsgBox "Der Name des Diagramms ist: " & strDiaName
    Else
       MsgBox "Bitte ein Diagramm auswählen."
    End If
  5. Code ausführen: Schließe den VBA-Editor und führe das Makro aus, um den Namen des Diagramms anzuzeigen.


Häufige Fehler und Lösungen

  • Fehler: "Bitte ein Diagramm auswählen."

    • Lösung: Stelle sicher, dass die Diagrammfläche tatsächlich ausgewählt ist, bevor du das Makro ausführst.
  • Fehler: Der Name wird nicht korrekt angezeigt.

    • Lösung: Überprüfe, ob du mehrere Diagramme im Arbeitsblatt hast und dass das aktive Diagramm auch wirklich das ist, von dem du den Namen ermitteln möchtest.

Alternative Methoden

Wenn du mehrere Diagramme in deinem Arbeitsblatt hast, kannst du auch die folgende Methode verwenden, um direkt auf das erste Diagramm zuzugreifen:

Dim strDiaName As String
strDiaName = ActiveSheet.ChartObjects(1).Name
MsgBox "Der Name des ersten Diagramms ist: " & strDiaName

Das ist besonders nützlich, wenn du die Namen von Diagrammen ohne Auswahl der Diagrammfläche ermitteln möchtest.


Praktische Beispiele

Hier sind einige Anwendungsbeispiele, wie du den Namen von Diagrammen in einer Excel-Datei ermitteln kannst:

  1. Ermitteln des Namens des aktiven Diagramms:

    • Verwende den oben beschriebenen Code, um den Namen des aktiv ausgewählten Diagramms anzuzeigen.
  2. Schleife über alle Diagramme:

    Dim i As Integer
    For i = 1 To ActiveSheet.ChartObjects.Count
       MsgBox "Diagramm " & i & ": " & ActiveSheet.ChartObjects(i).Name
    Next i

Mit diesem Code kannst du alle Diagrammnamen im aktiven Arbeitsblatt abrufen.


Tipps für Profis

  • Verwendung von ActiveChart: Wenn nur ein Diagramm aktiv ist, kannst du den Namen mit ActiveChart.Name direkt abrufen, ohne eine Auswahl treffen zu müssen.

  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um sicherzustellen, dass dein Makro auch bei unerwarteten Fehlern stabil bleibt.

  • Dokumentation: Kommentiere deinen Code gut, um anderen (oder dir selbst) das Verständnis zu erleichtern, wenn du später zurückkehrst.


FAQ: Häufige Fragen

1. Wie kann ich den Namen eines Diagramms in einer bestimmten Excel-Version ermitteln? Du kannst die oben genannten Methoden in den meisten modernen Excel-Versionen anwenden, wie Excel 2016, 2019 oder Excel für Microsoft 365.

2. Was mache ich, wenn ich mehrere Diagramme habe und den Namen eines spezifischen Diagramms benötige? Du kannst den Namen des spezifischen Diagramms ansprechen, indem du die Indexnummer in ChartObjects(Index) verwendest oder die Diagrammfläche manuell auswählst, bevor du das Makro ausführst.

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