Excel 2010 で ChartWizard メソッドを使用したマクロを実行してレーダー チャートを作成すると強制終了する場合がある

現象
Microsoft Excel 2010 で、パラメーター Source および Gallery が同じ ChartWizard メソッドで構成されているマクロを実行してレーダー チャートを作成すると、以下のエラー メッセージが表示され、Excel 2010 が強制終了します。

問題が発生したため、Microsoft Excel を終了します。

また、グラフの参照範囲がピボットテーブルであり、ピボットテーブル内のセルを選択したままで、サンプル コードのマクロを実行してレーダー チャートを作成した場合は、Excel 2010 は強制終了しませんが、レーダーチャートが作成されずに棒グラフが作成されます。

パラメーター Source および Gallery が同じ ChartWizard メソッドで構成されているサンプル コード :
Sub Macro1()Range("A1:C6").Value = 1 ActiveSheet.ChartObjects.Add(0, 120, 300, 300).Select    With ActiveChart        .ChartWizard _        Source:=ActiveSheet.Range("A1:C6"), _        Gallery:=xlRadar, Format:=1, PlotBy:=xlColumns, _        CategoryLabels:=1, SeriesLabels:=1    End WithEnd Sub
原因
この現象は、レーダー チャートで使用するパラメーター Source および Gallery が ChartWizard メソッドで構成されている場合、Excel 2010 の動作に不具合があるために発生します。
回避策
この現象を回避するには、パラメーター Source と Gallery を別々に設定するように ChartWizard メソッドを構成してください。

パラメーター Source と Gallery を別々に設定したサンプル コード :
Sub WorkaroundMacro()Range("A1:C6").Value = 1ActiveSheet.ChartObjects.Add(0, 120, 300, 300).Select    ActiveChart.ChartType = xlRadar    ActiveChart.SetSourceData Source:=ActiveSheet.Range("A1:C6")    With ActiveChart        .ChartWizard _         Gallery:=xlRadar, Format:=1, PlotBy:=xlColumns, _        CategoryLabels:=1, SeriesLabels:=1    End WithEnd Sub
状況
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
詳細

問題の再現手順 1

  1. Excel 2010 を起動し、A1 から C6 に 1 を入力します。
  2. Visual Basic Editor を起動して、以下のようなパラメーター Source および Gallery が同じ ChartWizard メソッドで構成されたコードを入力し、実行します。この再現手順では、A1:C6 に入力されている値 1 を基にグラフを作成するコードの構成となります。実際に参照するデータ範囲によって、ActiveSheet.Range の値は変更されます。
    Sub Macro1() ActiveSheet.ChartObjects.Add(0, 120, 300, 300).Select    With ActiveChart        .ChartWizard _        Source:=ActiveSheet.Range("A1:C6"), _        Gallery:=xlRadar, Format:=1, PlotBy:=xlColumns, _        CategoryLabels:=1, SeriesLabels:=1    End WithEnd Sub

結果

以下のエラー メッセージが表示され、Excel 2010 が強制終了します。

問題が発生したため、Microsoft Excel を終了します。

問題の再現手順 2

  1. Excel 2010 を起動し、ピボット テーブルを作成します。この再現手順では、A1:C6 にピボット テーブルを作成したとします。実際にピボットテーブルを作成するセルの範囲によって、ActiveSheet.Range の値は変更されます。
  2. Visual Basic Editor を起動して、以下のようなパラメーター Source および Gallery が同じ ChartWizard メソッドで構成されたコードを入力します。
    Sub Macro1() ActiveSheet.ChartObjects.Add(0, 120, 300, 300).Select    With ActiveChart        .ChartWizard _        Source:=ActiveSheet.Range("A1:C6"), _        Gallery:=xlRadar, Format:=1, PlotBy:=xlColumns, _        CategoryLabels:=1, SeriesLabels:=1    End WithEnd Sub
  3. 参照範囲となるピボット テーブル内の任意のセルをクリックした状態で、手順 2 のコードを実行しレーダー チャートを作成します。

結果

レーダー チャートが作成されず、棒グラフが作成されます。
プロパティ

文書番号:2416648 - 最終更新日: 09/29/2016 15:37:00 - リビジョン: 5.0

Microsoft Excel 2010

  • kbharmony kbexpertiseinter kbtshoot kbbug KB2416648
フィードバック