Das Problem kann wie folgt zusammengefasst werden: Dieses Problem tritt nur auf, wenn ich den Code ausführen, nicht, wenn ich durch die chrt.HasTitle
-Linie gehe. In diesem Fall erstellt es korrekt einen Titel und ich kann ihn bearbeiten wie ich will.Einstellung Diagrammtitel funktioniert nur beim Debuggen in Excel 2016
Ich gebe zuerst den relevanten Quellcode. Dies umfasst einfach den Code, der Excel 2003 von neueren Versionen unterscheidet (seit Excel 2003 abstürzt auf den "neueren" Code und umgekehrt).
Sub EnableChartTitle(chrt As Chart)
If Application.Version = "11.0" Then
EnableChartTitle_2003 chrt
Else
EnableChartTitle_Post2003 chrt
End If
End Sub
Sub EnableChartTitle_2003(chrt As Chart)
chrt.HasTitle = True
End Sub
Sub EnableChartTitle_Post2003(chrt As Chart)
chrt.SetElement msoElementChartTitleAboveChart
End Sub
Die Verwendung von chrt.SetElement
umgangen vorher genau dieses Problem, aber jetzt scheint es mit Office zurück zu sein 2016. die alten chrt.HasTitle
Ergebnisse in der gleichen Ausgabe Verwendung mit 2016.
Dieser Code funktioniert perfekt für alle Versionen von Office bis Office 2016. Jetzt weigert es sich plötzlich, den Titel zu aktivieren, es sei denn, ich gehe durch den Code, der natürlich nicht die beabsichtigte Verwendung ist.
Wer weiß, was ist los mit diesem und eine mögliche Lösung? VBA geht mir mit solchen Sachen auf die Nerven und es ist auch sehr schwer Google zu finden. This is where I got the previous solution from.
Hier ist der Code, der das Diagramm erstellt:
Dim chrt As Chart
RI.rSheet.Activate
Set chrt = Charts.Add.Location(xlLocationAsObject, RI.rSheet.Name)
Dann wird seine Position gesetzt, jede Serie, die entfernt und neue Daten werden automatisch hinzugefügt wurden verwendet chrt.SeriesCollection.Add <range>
hinzugefügt.
Hinweis: Der exakt gleiche Code funktioniert in einem anderen Skript. Dies liegt daran, dass hier nur eine Reihe hinzugefügt wird. Wenn Sie den Namen der Serie festlegen, aktiviert Excel automatisch den Titel. In diesem Skript werden mehrere Serien hinzugefügt und sobald der zweite Datensatz hinzugefügt wird, wird der Titel automatisch wieder entfernt. Dann wird es nicht mehr aktiviert.
Nur eine nicht-programmatische Lösung auszuschließen, warum Sie lieber einen Titel ermöglichen als nur eine in erster Linie mit? – Absinthe
Weil alles programmgesteuert erfolgt. Der Zweck dieses Skripts besteht darin, viele Arbeitsmappen ohne manuellen Eingriff zu erstellen. Ich habe der Frage Code hinzugefügt, um zu zeigen, wie ich das Diagramm erstelle. – Didii