-PR-
解決済み

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

  • 暇なときにでも
  • 質問No.36983
  • 閲覧数112
  • ありがとう数6
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 70% (26/37)

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
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル11

ベストアンサー率 49% (139/279)

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

お礼率 70% (26/37)

Rangeの使い方があやしいなあと
気づいていましたが・・・

Addressの使い方も教えていただき
ありがとうございます.
投稿日時 - 2001-02-08 16:34:38
関連するQ&A
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル12

ベストアンサー率 51% (254/492)

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

mySt.Cells(LstRw, 11).Value = Worksheets("Q").Cells(8, 6).Value

といった感じにシンプルにした方が良いんじゃないでしょうか。
お礼コメント
seebeck

お礼率 70% (26/37)

そうですね.

ありがとうございます.
投稿日時 - 2001-02-08 16:38:32


このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ