アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルのマクロでグラフを描く時に、2つの離れた列(1列目とi列目)のデータを Cells を使用して範囲指定をしたいのですが、エラーがでてしまします。どこが間違っているか教えていただけないでしょうか?
よろしくお願いいたします。

下記の式では正常にグラフは作成されます。
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:A19,C1:C19"), PlotBy _
' :=xlColumns

下記表現でエラーが発生します。
Dim c1, c2, c3 As Range
Set c1 = Worksheets("Sheet1").Range(Cells(1, 1), Cells(jmax, 1))
Set c2 = Worksheets("Sheet1").Range(Cells(1, i), Cells(jmax, i))
Set c3 = Union(c1, c2)

ActiveChart.SetSourceData Source:=Sheets("Sheet1").c3, PlotBy _
:=xlColumns

エラー内容
実行時エラー'438'
オブジェクトは、このプロパティまたはメソッドをサポートしていません。

A 回答 (1件)

変更前:


Source:=Sheets("Sheet1").c3

変更後:
Source:=c3

とします。



#余談
よくやる間違い:
Dim c1, c2, c3 As Range

正解:
Dim c1 as range, c2 as range, c3 as range
こうしないとc1,c2はrangeではなくvariantでDefineされます。
    • good
    • 1
この回答へのお礼

早々にご教授していただきまして、どうもありがとうございました。

Sheet1の定義がダブってしまっていたのですね。

また、Dim の定義方法についてもVariantになるとは、全く知りませんでした。

おかげさまで助かりました。深謝いたします。

お礼日時:2010/04/12 16:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!