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

Makro -> alle Diagramme einer Datei auswählen

Forumthread: Makro -> alle Diagramme einer Datei auswählen

Makro -> alle Diagramme einer Datei auswählen
21.06.2005 09:38:50
Jochen
Hallo,
bisher habe ich leider noch keine konkrete Lösung für mein problem hier im Forum gefunden.
Ich habe eine Datei (bzw. 11 Stück davon) die in 13 tabellenblättern je 1 oder mehr Diagramme enthält. Nun habe ich ein makro geschrieben, welches die Balkenfarbe je nach Wert (des Balkens) ändert. Nachdem ich keine Lust hab jedes Diagramm einzeln und explizit
(also z.B. Sheets("May").Select
ActiveSheet.ChartObjects("Diagramm 9").Activate )
anzusprechen würde ich gerne wissen ob es eine Methode gibt in einem Tabellenblatt jedes Diagramm nacheinander auszuwählen und dort eben mein Makro zur Farbänderung durchzuführen (demnach jedes Diagramm 'farbformatieren'). Ein automatischer Tabellenblattwechsel wäre auch nett .. Ich schreib ungern hardlinks in macros.
Vielen Dank
Jochen Walz
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Makro -> alle Diagramme einer Datei auswählen
21.06.2005 10:12:15
Jochen
ok ein teil hab ich jetzt selber gefnden ...
Sheets(1).Activate ... z.B.
Die Frage nach der Auswahl von Diagrammen auf dem tabellenblatt bleibt aber immernoch bestehen :(
Gruß
Jochen
AW: Makro -> alle Diagramme einer Datei auswählen
21.06.2005 10:37:27
Heiko
Hallo Jochen,
select und activate sind Teufelszeug, und braucht man in der Regel nicht da sie das VBA Programm nur langsam machen.
Versuche es mal so, mit diesem Progrämmchen wird von allen Charts in allen Tabellblättern der Name ausgeben.

Sub GrafikenAnsprechen()
Dim wks As Worksheet
Dim graf As ChartObject
For Each wks In ActiveWorkbook.Worksheets
For Each graf In wks.ChartObjects
MsgBox "Dies ist " & graf.Name & " in Tabellenblatt " & wks.Name & " !", vbInformation
' Tabellenblatt und Chartobjekt kannst du dann an dein Makro übergeben.
Next graf
Next wks
End Sub

Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: Makro -> alle Diagramme einer Datei auswählen
21.06.2005 11:01:01
Jochen
funzt prima 1000 Dank :)
Das Makro gibt die Daten entxprechend wie gewüscht bzw in meiner etwas abgewandelten Form werden die 'Outputs' als variable an ein anderes Macro übergeben.
Gruß
Jochen
;
Anzeige
Anzeige

Infobox / Tutorial

Alle Diagramme in Excel mit einem Makro auswählen


Schritt-für-Schritt-Anleitung

Um alle Diagramme in einer Excel-Datei auszuwählen und ein Makro darauf anzuwenden, kannst Du folgendes VBA-Skript verwenden. Dieses Skript durchläuft alle Tabellenblätter und alle Diagramme in diesen Blättern:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub GrafikenAnsprechen()
       Dim wks As Worksheet
       Dim graf As ChartObject
       For Each wks In ActiveWorkbook.Worksheets
           For Each graf In wks.ChartObjects
               ' Hier kannst du dein Makro zur Farbänderung aufrufen
               MsgBox "Dies ist " & graf.Name & " in Tabellenblatt " & wks.Name & " !", vbInformation
           Next graf
       Next wks
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Drücke ALT + F8, wähle das Makro GrafikenAnsprechen aus und klicke auf Ausführen.

Dieses Skript gibt den Namen jedes Diagramms in einem Pop-up-Fenster aus, sodass Du überprüfen kannst, ob es funktioniert.


Häufige Fehler und Lösungen

  • Fehler: "Typenübereinstimmung"
    Lösung: Stelle sicher, dass Du die richtigen Objekte verwendest. Der Fehler tritt häufig auf, wenn ein Objekt nicht existiert oder nicht korrekt referenziert wird.

  • Fehler: "Makro kann nicht gefunden werden"
    Lösung: Überprüfe, ob das Makro im richtigen Modul gespeichert wurde und dass Du den richtigen Namen verwendest.


Alternative Methoden

Du kannst auch eine Schleife verwenden, um alle Diagramme in einer bestimmten Tabelle auszuwählen. Hier ist ein einfaches Beispiel:

Sub AlleDiagrammeAuswaehlen()
    Dim wks As Worksheet
    Set wks = ActiveSheet
    Dim graf As ChartObject
    For Each graf In wks.ChartObjects
        graf.Select ' Dies wählt das Diagramm aus
    Next graf
End Sub

Mit dieser Methode kannst Du gezielt nur die Diagramme auf einem bestimmten Tabellenblatt auswählen.


Praktische Beispiele

Wenn Du ein Makro zur Farbänderung von Diagrammen erstellen möchtest, kannst Du den vorherigen Code anpassen. Hier ist ein Beispiel:

Sub Farbformatieren()
    Dim wks As Worksheet
    Dim graf As ChartObject
    For Each wks In ActiveWorkbook.Worksheets
        For Each graf In wks.ChartObjects
            graf.Chart.SeriesCollection(1).Interior.Color = RGB(255, 0, 0) ' Ändert die Farbe auf Rot
        Next graf
    Next wks
End Sub

Mit diesem Code werden alle Diagramme in der Datei rot gefärbt.


Tipps für Profis

  • Verwende With ... End With-Blöcke, um den Code lesbarer und effizienter zu gestalten.
  • Teste Dein Makro immer auf einer Kopie Deiner Datei, um Datenverlust zu vermeiden.
  • Dokumentiere Deinen Code, um ihn später einfacher zu verstehen.

FAQ: Häufige Fragen

1. Wie kann ich alle Diagramme in einer Excel-Datei auswählen?
Du kannst die oben beschriebenen Makros verwenden, um alle Diagramme in allen Tabellenblättern auszuwählen und zu bearbeiten.

2. Was kann ich tun, wenn mein Makro nicht funktioniert?
Überprüfe, ob die richtigen Objekte und Variablen verwendet werden. Achte darauf, dass die Diagramme auch tatsächlich vorhanden sind.

3. Kann ich das Makro so anpassen, dass es nur bestimmte Diagramme auswählt?
Ja, Du kannst Bedingungen in die Schleife einfügen, um nur bestimmte Diagramme auszuwählen, z.B. nach Namen oder Typ.

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