• ベストアンサー

ExcelVBA 変数を使ってセルを指定して,コピー

mySt.Range( _ mySt.Cells(LstRw, 11), _ mySt.Cells(LstRw, 11)).Value = _ _ Worksheets("Q"). _ Range(Cells(8, 6), Cells(8, 6)).Value 上のプログラムで動きますが, mySt.Range( _ mySt.Cells(LstRw, 11)).Value = _ _ Worksheets("Q"). _ Range(Cells(8, 6)).Value こうすると動きません. なぜでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • arata
  • ベストアンサー率49% (139/279)
回答No.1

Rangeのヘルプを見てください。 Range(Cell1) の場合は、Rangeオブジェクトは、指定できません。 A1形式のアドレスや、範囲名を指定することになります。 Range(Cell1,Cell2) の場合は、A1形式または、Rangeオブジェクトを指定できます。 前者の形で、指定がしたい場合は、 mySt.Range(mySt.Cells(LstRw, 11).Address).Value = _ Worksheets("Q").Range(Cells(8, 6).Address).Value のように、A1形式のアドレスに変えてしまえば、通ります。

seebeck
質問者

お礼

Rangeの使い方があやしいなあと 気づいていましたが・・・ Addressの使い方も教えていただき ありがとうございます.

その他の回答 (1)

  • kbonb
  • ベストアンサー率51% (254/492)
回答No.2

こんにちは mySt.Cells(LstRw, 11).Value = Worksheets("Q").Cells(8, 6).Value といった感じにシンプルにした方が良いんじゃないでしょうか。

参考URL:
http://www2.odn.ne.jp/excel/
seebeck
質問者

お礼

そうですね. ありがとうございます.

関連するQ&A