Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


20882 / 76738 ←次へ | 前へ→

【61264】Re:グラフの範囲指定でX軸およびY軸の元データを指定したい。
回答  りん E-MAIL  - 09/4/20(月) 21:44 -

引用なし
パスワード
   Yuji さん、こんばんわ。

>私の書き方が悪かったですが、lWsEをActivateにするのは問題ありませんが、
>lWsEをActivateにしてしまうと
>With .Range(.Cells(Rmax + 2, 1), .Cells(Rmax + 21, 10)) ←この行
   ↑

実は、最初の回答(=過去からの転記)ではRangeの前の「.」(Withに関連していますというサイン)が抜けていました(#61257で気づいて訂正)。

標準モジュールに記述する場合、親(ワークシートオブジェクト)を省略した場合は親がActiveSheet(ヘルプに書いてあります)なので、例のようにActiveSheetを対象としている限りエラーにはなりませんでした。

今回CommandButtonでの実行ということでシートモジュールに記述してされていますが、その場合は親を省略するとコードを記述したシートが親になります。
なので、

>With Range(.Cells(Rmax + 2, 1), .Cells(Rmax + 21, 10))
は省略せずに書くと
 With Sheet1.Range(Sheet2.Cells(Rmax + 2, 1), Sheet2.Cells(Rmax + 21, 10))
つまり、外と中で別シートの範囲を見ているのでエラーになってしまいます。

Withの内側でメッセージを出して確認してみてください。

  With ActiveSheet
   '↓これを追加してみてください。MsgBoxで違いがわかると思います。
   MsgBox Cells(1).Address(external:=True), vbInformation, .Cells(1).Address(external:=True)
  '一つあけて下
   With .Range(.Cells(Rmax + 2, 1), .Cells(Rmax + 21, 10)) '大きさは適当
     Set co = lWsE.ChartObjects.Add(.Left, .Top, .Width, .Height)
   End With
  End With

ということで、混乱させてしまったようですみません。

0 hits

【61245】グラフの範囲指定でX軸およびY軸の元データを指定したい。 Yuji 09/4/19(日) 14:46 質問
【61247】Re:グラフの範囲指定でX軸およびY軸の元デ... りん 09/4/19(日) 16:33 回答
【61248】Re:グラフの範囲指定でX軸およびY軸の元デ... Yuji 09/4/19(日) 18:13 お礼
【61251】Re:グラフの範囲指定でX軸およびY軸の元デ... つん 09/4/19(日) 19:34 発言
【61252】Re:グラフの範囲指定でX軸およびY軸の元デ... りん 09/4/20(月) 6:11 発言
【61263】Re:グラフの範囲指定でX軸およびY軸の元デ... Yuji 09/4/20(月) 21:10 発言
【61264】Re:グラフの範囲指定でX軸およびY軸の元デ... りん 09/4/20(月) 21:44 回答
【61265】Re:グラフの範囲指定でX軸およびY軸の元デ... Yuji 09/4/20(月) 23:43 お礼
【61266】Re:グラフの範囲指定でX軸およびY軸の元デ... Yuji 09/4/20(月) 23:49 発言

20882 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free