- ベストアンサー
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 こうすると動きません. なぜでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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形式のアドレスに変えてしまえば、通ります。
その他の回答 (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/
質問者
お礼
そうですね. ありがとうございます.
お礼
Rangeの使い方があやしいなあと 気づいていましたが・・・ Addressの使い方も教えていただき ありがとうございます.