この問題は、chrt.HasTitle
行をステップ実行するときではなく、コードを実行する場合にのみ発生します。その場合、タイトルが正しく作成され、編集することができます。グラフのタイトルを設定するのは、Excelでのデバッグ時のみです。2016
まず、関連するソースコードを示します。これには、Excel 2003と新しいバージョンとを区別するコードが含まれています(Excel 2003は '新しい'コードでクラッシュし、逆も同様です)。このコードはすべてのために完璧に働いていた2016年
でchrt.SetElement
の使用は、以前にこの正確な問題をバイパスし、今では同じ問題に古いchrt.HasTitle
結果を使用して、バックオフィス2016であるように思わ
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
Office 2016までのバージョンのOfficeを使用しています。今では、意図した使用ではないコードをステップ実行しない限り、突然タイトルを使用することを拒否します。
これと修正可能なことは誰でも知っていますか? VBAは本当にこの種のもので私の神経に乗り、Googleにとっても非常に難しいです。ここThis is where I got the previous solution from.
チャートを作成するコードである:その位置が設定されている
Dim chrt As Chart
RI.rSheet.Activate
Set chrt = Charts.Add.Location(xlLocationAsObject, RI.rSheet.Name)
、自動追加された系列が除去され、新しいデータがchrt.SeriesCollection.Add <range>
を使用して追加されます。
注意:正確に同じコードは別のスクリプトで動作します。ここにはシリーズが1つだけ追加されているためです。シリーズ名を設定すると、自動的にタイトルが有効になります。このスクリプトでは、複数のシリーズが追加され、2番目のデータセットが追加されるとすぐに、タイトルが自動的に再び削除されます。そうすれば、もうもう一度それを有効にすることはできません。
ちょうどなぜあなたはタイトルを有効にしているだけではなく、最初の場所で1つを有する、非プログラムによるソリューションを排除するには? – Absinthe
すべてがプログラムによって実行されるためです。このスクリプトの目的は、手動介入なしで多くのワークブックを作成することです。私はグラフを作成する方法を示すために、質問にコードを追加しました。 – Didii