プロが教える店舗&オフィスのセキュリティ対策術

初めて質問させて頂きます。
vbaで別のシートにセルで選択した項目を反映させたいのですが出来ず困っております。
どなたかご教授頂けますでしょうか。

SR.xlsm
・B4からB100まで4桁の店舗コードがあります。
・C4からC100までは住所。
・D4からD100までは電話番号。

master.xlsx
・A1に店舗コードを貼り付けたい
・B2に住所を貼り付けたい
・D3に電話番号を貼り付けたい

作業内容としては以下をしたいのです。

例えばSR.xlsmのB50を選択してボタンをクリックすると
master.xlsxが自動的に立ち上がり、
master.xlsxのA1 ⇒ B50を貼り付け
master.xlsxのB2 ⇒ C50を貼り付け
master.xlsxのD3 ⇒ D50を貼り付け

以下、自分なりにやってみたのですがどのセルを選択してボタンを押してもB4の列しか反映されません。
大変お手数をおかけいたしますがご教授願いますでしょうか。
宜しくお願い致します。

Sub click()
'
' click Macro
'

'
Range("B4").Select
Selection.Copy
Workbooks.Open Filename:= _
"\\0000000\22\33\44\master.xlsx"
ActiveSheet.Paste
Windows("SR.xlsm").Activate
Range("C4").Select
Application.CutCopyMode = False
Selection.Copy
Windows("master.xlsx").Activate
Range("E2").Select
ActiveSheet.Paste
Windows("SR.xlsm").Activate
Range("D4").Select
Application.CutCopyMode = False
Selection.Copy
Windows("master.xlsx").Activate
Range("E4:H4").Select
ActiveSheet.Paste
Windows("SR.xlsm").Activate
Range("E4").Select
Application.CutCopyMode = False
Selection.Copy
Windows("master.xlsx").Activate
Range("H2:H3").Select
ActiveSheet.Paste
End Sub

A 回答 (1件)

何も考えずにやりたい作業内容を実現することだけなら、



Sub CB1_Click()
Dim bValue, cValue, dValue As Variant

bValue = Cells(ActiveCell.Row, 2).Value
cValue = Cells(ActiveCell.Row, 3).Value
dValue = Cells(ActiveCell.Row, 4).Value

Workbooks.Open Filename:="\\0000000\22\33\44\master.xlsx"
ActiveSheet.Cells(1, 1) = bValue
ActiveSheet.Cells(2, 2) = cValue
ActiveSheet.Cells(3, 4) = dValue
End Sub

で、いかがでしょうか。
    • good
    • 0
この回答へのお礼

kigoshiさん

完璧です!!
お恥ずかしい話ですが、この問題で1.5日悩んで悩んでおりました。
こんなシンプルだったとは。。。

師匠と呼ばせて頂きます!
本当にありがとうございました。

お礼日時:2011/05/25 15:55

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