こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

EXCEL VBA 別ブックから貼り付け

お世話になります。

A、Bという2つのブックがあります。

A.xls データファイル
B.xls 処理実行ファイル

Bブックを開いてSheet1に置いてあるボタンを押すとファイル洗濯ダイヤログが出てきて、そこで指定したBブックをsrtPathに格納(シートは1つだけ)のBブックのA1から全データをAブックのSheet1に貼り付けたいのです。
下記VBAを書いてみましたがエラーになってうまく動きません。

Workbooks(strPath).Range("A1").Copy
ActiveWorkbooks.Worksheets("Sheet1").Range("A1").PasteSpecial

どなたが解決方法をご教授いただけませんでしょうか。
よろしくお願い致します。

投稿日時 - 2015-04-24 13:53:28

QNo.8962526

すぐに回答ほしいです

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

一例です。
ChDir "C:\dumy"のフォルダ名を変更下さい。
質問ではシートのコピーと書かれてますが、コードがPasteSpecialになっていましたので値だけ貼り付けにしています。
コピペは処理速度が遅くなりますので、今後はあまり多様されない方が良いかと思います。

VBAの質問をされる時は全てのコードを記載するようにしましょう。

Sub test()

Dim strPath As Variant

ChDir "C:\dumy"
strPath = Application.GetOpenFilename("Excel ファイル (*.xls; *.xlsx; *.xlsm),*.xls; *.xlsx; *.xlsm")


If VarType(strPath) = vbBoolean Then

MsgBox "キャンセルされました"

Else

With Workbooks.Open(strPath)
.Worksheets("Sheet1").Cells.Copy
ThisWorkbook.Worksheets("sheet1").Range("A1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
.Close False
End With

End If


End Sub

投稿日時 - 2015-04-24 16:32:35

お礼

dogs_cats さんご連絡ありがとうございました。
こちらからの連絡が遅くなりまして申し訳ございませんでした。

ご教授いただきました方法で目的通りの動きができました。

また今後質問する際には全コードを記載するようにいたします。
申し訳ございませんでした。

このたびは本当にありがとうございました。

投稿日時 - 2015-04-27 10:13:45

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問