Excel VBA質問箱 IV

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

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


89 / 13054 ツリー ←次へ | 前へ→

【78974】別ウィンドウのワークシート間コピー エリエール 17/4/3(月) 3:16 質問[未読]

【78991】Re:別ウィンドウのワークシート間コピー β 17/4/4(火) 0:33 発言[未読]
【78992】Re:別ウィンドウのワークシート間コピー γ 17/4/4(火) 7:31 発言[未読]
【78996】Re:別ウィンドウのワークシート間コピー エリエール 17/4/4(火) 8:04 発言[未読]
【78994】Re:別ウィンドウのワークシート間コピー エリエール 17/4/4(火) 7:40 お礼[未読]

【78991】Re:別ウィンドウのワークシート間コピー
発言  β  - 17/4/4(火) 0:33 -

引用なし
パスワード
   ▼エリエール さん:

横から失礼します。
γさんのしてきは SheetB.Range(セル1,セル2) の かっこの中のセルが SheetBのセルだと認識されないということでしたね。

それを SheetB.Range(.セル1,.セル2) とピリオドをつけられたわけですが
この ピリオドは、このコードに先行して With なんたら というものがあって初めて

『その セル1』といった意味になります。つまり ピリオドは 『その』という意味です。

さて、この場合、『その』は、何なのか、どこかに宣言がありますか?

記述するなら

With SheetB
 .Range(.セル1,.セル2)
End With

といった記述になるでしょうね。

あるいは

SheetB.Range(SheetB.Cells(1, 1), SheetB.Cells(4, 4))

でもいいですし、

Range(SheetB.Cells(1, 1), SheetB.Cells(4, 4))

でもいいです。

【78992】Re:別ウィンドウのワークシート間コピー
発言  γ  - 17/4/4(火) 7:31 -

引用なし
パスワード
   βさん いつもながら適切な解説ありがとうございました。

質問者さんへ
私が提示したコードをそのまま使わなかった理由は?
(理解せずに Withステートメントとその対である .ドットを
 使うよりも、間違い無いだろうと思ったのですが。)

GetObjectを使う理由がいまいち理解できておらず、
当初の動作不良となる原因が別にあるのかもしれないなあと
思ってもいます。

【78994】Re:別ウィンドウのワークシート間コピー
お礼  エリエール  - 17/4/4(火) 7:40 -

引用なし
パスワード
    γさん、βさんありがとうございます。

 コードをγさんの当初ご指摘とおり訂正したらうまくいきました。
βさん、見るに見かねての助け舟ありがとうございます。

 本当にありがとうございました。

 
■該当箇所の訂正後

 With SheetB

.Activate

.Range(.Cells(1, 1), .Cells(4, 4)) = OutData

End With

以上です。

【78996】Re:別ウィンドウのワークシート間コピー
発言  エリエール  - 17/4/4(火) 8:04 -

引用なし
パスワード
   γさんへ

■私が提示したコードをそのまま使わなかった理由は?

 正直申しますと疲れによる私の完全なミスです。
申し訳なかったです。おっしゃっていたご指摘は理解して
訂正したつもりでしたが、間違っていました。

■GetObjectを使う理由がいまいち理解できておらず、

 別ウィンドウのワークシート間コピーの方法を探していたら
GetObjectが良いと考えたからです。他に最適な方法が有るとしても
現在の私の力量では思いつくことは無理です。


以上です。


>βさん いつもながら適切な解説ありがとうございました。
>
>質問者さんへ
>私が提示したコードをそのまま使わなかった理由は?
>(理解せずに Withステートメントとその対である .ドットを
> 使うよりも、間違い無いだろうと思ったのですが。)
>
>GetObjectを使う理由がいまいち理解できておらず、
>当初の動作不良となる原因が別にあるのかもしれないなあと
>思ってもいます。

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