プロが教えるわが家の防犯対策術!

表題の件、教えていただけますと助かります。
「ワークブックP」内に「シートA」、「シートB」、「シートC」という名前のシートがあると仮定します。
ここに別の「ワークブックQ」の「シートR」から「ワークブックP」の「シートA」、「シートB」、「シートC」に値を貼り付けていきたいです。

貼り付け方法ですが、「シートA」のアクティブセルを起点とし「シートB」、「シートC」の特定の場所にも値が張り付くようにしたいです。

例えば、「シートA」のA5セルをアクティブにした時、マクロを実行すると、「シートA」のA5セルには「シートR」のA1セルの値が張り付き、それと当時に「シートB」のA5セルには「シートR」のA2セル値が張り付き、「シートC」のA5セルには「シートR」のA3セル値が張り付くということがしたいです。

例ではA5セルをアクティブとしましたが、これは変更される可能性があります。
A5でなくA8がアクティブになった場合、「シートA」「シートB」、「シートC」共にA8セルに値が入力されるようにしたいです。


うまく説明できているかわかりませんが、どのようなコードをかけば良いでしょうか。
どなたかご教示いただけないでしょうか。よろしくお願いいたします。

A 回答 (1件)

こんなのが便利かな。

Qブックは閉じたままでも行けるはずです。
リンク貼り付けになるので、必要に応じて値に変換してください。

Sub sample()
Dim wbPath As String
Dim rngAdr As String
wbPath = "='C:\Users\xxxxxx\[Q.xlsx]R'!"
rngAdr = ActiveCell.Address

Worksheets("A").Range(rngAdr).Formula = wbPath & "$A$1"
Worksheets("B").Range(rngAdr).Formula = wbPath & "$A$2"
Worksheets("C").Range(rngAdr).Formula = wbPath & "$A$3"
End Sub
    • good
    • 0
この回答へのお礼

ご丁寧なご回答ありがとうございました。
そのような手法を初めて知り、大変参考になりました。

お礼日時:2020/08/11 09:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!