0

マクロを使用してグラフ オブジェクトのデータ セットを設定しようとしています。マクロは必要な正しい範囲を選択します (rng.Select とデバッグを使用してチェックします) が、マクロの実行が終了した後にグラフ オブジェクトを右クリックして [データの選択] を選択すると、データ範囲が複雑すぎて表示できないと表示されます。チャートに正しく入力されません。私のマクロは以下です。任意のポインタをいただければ幸いです。

編集。入力されたデータから手動でグラフが作成されたシートのコピーがあり、このグラフで [データの選択] をクリックすると、連続していない範囲がうまく表示されます。既存のグラフに対してマクロで設定しようとした場合のみです。動作しません。

Sub test()

UpdateChart 27, 64

End Sub

Sub UpdateChart(ByVal row As Long, ByVal col As Long)

Dim sht As Worksheet
Set sht = Worksheets("Report4_Chart")
Dim data As Worksheet
Set data = Worksheets("Report4")
Dim rng As Range
Dim exclude As Range

data.Activate

Set exclude = data.Rows(25)
Set rng = data.Range("A24", Intersect(data.Rows(row), data.Columns(col)))
Set rng = SetDifference(rng, exclude)
rng.Select

sht.Activate

ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.PlotArea.Select
ActiveChart.SetSourceData Source:=rng

End Sub

ここに画像の説明を入力

4

1 に答える 1

0

この古い質問に出くわした他の人のために: 連続していない範囲に基づくグラフは、範囲が長方形を形成する場合にのみ機能するように見えることを発見しました。

たとえば、セル A1、A7、および C1 をグループ化しようとしましたが、うまくいきませんでした。ただし、A1、C1、A7、および C7 を使用すると、機能しました。

(実際、私の範囲はすべて単一のセルよりも大きかった。しかし、「欠落した」範囲は、その上の範囲と同じ幅で、その横の範囲と同じ高さだった.したがって、結合された範囲は長方形を形成した. )

于 2016-03-29T18:27:39.593 に答える