ここから本文です

お気に入り知恵コレ VBA 詳しい人教えてください。 下記のコードですがRange("B9...

kan********さん

2019/11/620:57:05

お気に入り知恵コレ
VBA 詳しい人教えてください。
下記のコードですがRange("B9").Selectが反映されずに自動メール送信.xlsmファイルを開いて、ペーストが走ります。
どのように

変えたらB9セルをセレ
クトできるのでしょうか?

Range("U6").Select
Selection.Copy
Workbooks.Open Filename:= _
"S:\自動メール送信.xlsm"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Range("B9").Select
ActiveSheet.Paste

Application.CutCopyMode = False
Application.Run "自動メール送信.xlsm!自動メール"
ActiveWorkbook.Save
ActiveWindow.Close

閲覧数:
32
回答数:
1
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

tra********さん

2019/11/621:03:04

標準モジュールにかかれたプロシジャとして回答します。

>Workbooks.Open Filename:="S:\自動メール送信.xlsm"
が書かれているので、このOpenメソッドが実行されたあとのシートやセル範囲の記述は、「自動メール送信.xlsm」のアクティブなシートを参照することになります。
具体的には、
Selection.PasteSpecial のSelection
Range("B9").Select
ActiveSheet.Paste(これは、自動メール送信.xlsm」のアクティブなシート)
ということになります。
なので、
>どのように変えたらB9セルをセレクトできるのでしょうか?
「自動メール送信.xlsm」のアクティブなB9セルをセレクトしているということになります。

どういうプログラムを書きたいのか、プログラムの仕様がないとプログラミング例をアドバイスするのは容易じゃないですね。。

  • tra********さん

    2019/11/621:04:56

    とくに
    Selection.PasteSpecial のSelection
    は、「自動メール送信.xlsm」のオープン直後なので、どのシートのどのセルが選択されているかは解らないでしょうね。

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる