Clever-Excel-Forum

Normale Version: Diagramme verlieren Blattnamen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo wertes Forum,

und wiedermal habe ich ein Problem, dass offensichtlich nur ich habe...
Meine Diagrammblätter verlieren ihre Namen!!!

Ich habe einige Makros, die täglich laufen und dabei die Datei öffnen, Daten hineinschreiben und wieder schließen.
Und irgendwann, nachdem die Makros tagelang problemlos gelaufen sind, bekomme ich einen Fehler, dass ein Diagramm, auf das ich zugreife, nicht existiert. Dann sind alle Diagrammnamen verschwunden und sie heißen wieder "Diagramm1", "Diagramm2" usw.

Kennt jemand dieses Problem?
Was kann ich dagegen tun?

Nachdem es kein dauerhaftes Problem ist, sondern nur gelegntlich auftritt, bin ich auch ratlos, welcher Teil meines Codes den Fehler verursachen könnte.
Ich habe zuletzt in der Datei ein 8. Diagramm manuell eingefügt. Kann es an der Anzahl Diagramme liegen? Hatte das Problem bereits früher bei einem Report mit ca. 15 Diagrammen.

Gruß,
Lutz
Hallo,

keine Lösung, aber vielleicht ein "workaround":

Prüfe beim Öffnen die Namen der Diagramme und setze ggf die "richtigen" Namen zurück.

Als Referenzen können der Code-Name als auch für das Sheet gesetzte "CustomProperties" sein.

mfg
Hallo Fennek,

vielen Dank für die Antwort.

Was meinst Du mit

Zitat:Als Referenzen können der Code-Name als auch für das Sheet gesetzte "CustomProperties" sein.


Ich hätte geprüft, ob ein Diagramm "Testdiagramm" vorhanden ist. Wenn nicht, hätte ich per
Code:
    Sheets("Diagramm1").Name = "Testdiagramm"
die Diagrammnamen neu vergeben.

Gruß,
Lutz
RPP hat entdeckt dass nicht nur das Workbook, sondern auch jedes Worksheet CustomProperties enthalten kann.

Wenn Dein Problem mit dem Code-Name zu lösen ist, ist das "einfach und gut".
Hallo Fennek,

Du sprichst in Rätseln...

Wo finde ich die CustomProperties für mein Worksheet und wie helfen die mir?
Welchen Code-Name meinst Du in deiner ersten Antwort?

Gruß,
Lutz
Moin!
Der Codename kann, im Ggs. zum Name, nicht auf der Benutzeroberfläche geändert werden.
Daher empfehle ich, immer diesen im Code zu nutzen.
(der Codename ist der ohne Klammer)
[attachment=37575]

Statt
Sheets("Testdiagramm").
besser (siehe Screenshot)
Diagramm2.

Hier mal einer meiner wenigen Textbausteine:
Zitat:Ein Tabellenblatt kannst Du in plain Excel nur mit dem Namen, der auf dem "Tabellenreiter" steht ansprechen!
Bei VBA gibt es drei Möglichkeiten:
  1. Die .Name-Eigenschaft: Sheets("Feiertage").Range("A1") [steht in der Klammer]
  2. Den .CodeName: Tabelle2.Range("A1") [vor dem Punkt]
  3. Den Index (lfd. Nr. des Sheets, von links mit 1 beginnend) Worksheets(2).Range("A1")


Gruß Ralf
Ahhh Idea.

Dann werde ich mich mal an einen Korrektur-Code machen...

Ist ja nicht nur, dass ich im Code einen Fehler bekomme, den ich durch .CodeName umgehen kann, sondern beim Betrachten der Daten ist es auch angenehmer, wenn der Reiter eine "sprechenden" Namen hat.

Vielen Dank für die Hilfe,
Lutz