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

解決済みの質問

エクセル マクロを使って指定範囲のデータを別のブックの特定のシートにコ

エクセル マクロを使って指定範囲のデータを別のブックの特定のシートにコピーしたい。

Book1のsheet1内のA1:C5を
A B C
1 東京 1月
2 1/1 りんご 50
3 1/2 みかん 70
4 1/3 バナナ 50
5 1/5 イチゴ 60
A1でコピー先のBook名を指定
B1でコピー先のSheet名を指定

東京(Book名)の1月(Sheet名)のA2:C6にコピーしたい。


両Bookは同一パス内にありコピー先のsheetも事前にできています。

どなたかよろしくお願いいたします。

マクロ内の行にコメントで解説を入れていただけると助かります。

投稿日時 - 2010-10-23 00:51:09

QNo.6269013

すぐに回答ほしいです

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

> 両Bookは同一パス内にありコピー先のsheetも事前にできています。

マクロを記載したBOOKは当然開いているでしょうが、マクロ実行で転記する先のBOOKはどうなっているのでしょうか?
一応、開いていても、あるいは閉じていてもどちらでも大丈夫なように作成してみました。

Sub TEST01()
  Dim wb As Workbook '変数宣言
  Dim ws As Worksheet
  Set ws = ThisWorkbook.Sheets("Sheet1") 'Book1のSheet1をwsとする。
  On Error Resume Next 'エラー回避
  Set wb = Workbooks(ws.Range("A1").Value & ".xls") '対象BOOKが開いていればwbとする。
  On Error GoTo 0 'エラー回避終了
  If wb Is Nothing Then '対象BOOKが開いてなければ、
    Set wb = Workbooks.Open(Filename:=ThisWorkbook.Path & "\" & ws.Range("A1").Value & ".xls") '開きwbとする。
  End If
  ws.Range("A1:C5").Copy wb.Sheets(ws.Range("B1").Value).Range("A2:C6") 'データ転記
End Sub

投稿日時 - 2010-10-23 15:49:40

お礼

お礼が遅くなり申し訳ございません。
ご丁寧に解説まで入れていただき大変参考になりました。

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

投稿日時 - 2010-10-29 13:27:24

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

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

-広告-
-広告-

回答(3)

ANo.2

丸投げ質問する前に、やることがある。
質問の操作をマクロの記録を取り、2回目からは何処をどう変えて実行すれば良いか考えて、コードの変更をやってみること。
その段階で判らないことを質問すべきだ。
同類の操作(作業)はこれ1回で終りか。どこかを変えて同様操作を繰り返すのか。はっきりしない。
VBAの勉強するだけ以外では、1例しか実行しないものをVBAでやるメリットは少ない。
>マクロ内の行にコメントで解説を入れていただけると助かります
それはそうだが、自分で出した問題なのだから、コードを読み解く努力をしないと。回答者は家庭教師ではない、甘えすぎ。
回答が出て、その回答でわからない点は、お礼で補足依頼も出来る。

投稿日時 - 2010-10-23 11:57:32

ANo.1

次のようなマクロにしてはどうでしょう。

Sub Macro2()
Set WS1 = Worksheets("Sheet1")
Application.ScreenUpdating = False
Range("A1:C5").Select
Selection.Copy
Windows("" & WS1.Range("A1") & "").Activate
Worksheets("" & WS1.Range("B1") & "").Activate
Range("A2").Select
ActiveSheet.Paste
WS1.Activate
Application.CutCopyMode = False
Range("A1").Select
Application.ScreenUpdating = True
End Sub

投稿日時 - 2010-10-23 07:24:40

お礼

参考になりました。
ありがとうございます。

投稿日時 - 2010-10-29 13:28:00

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-