すぐに役立つエクセルVBAマクロ集 すぐマク
すぐに役立つ Excel VBA マクロ集 Excel VBA Macro
FAQ
Google
 
Home |  What's New! |  Gallery |  Introduction |  Service |  Profile 500連発・組み方講座フォロー Big Color Pallet
[広告]
Excel VBA Macro
Excel DownLoad
© 1997 - 2007
永井善王.
All RightsReserved.
HappyTech & Co., Ltd.
www.happy500z.com
Excel VBA Macro ・ コピー ・ FAQ
指定セル範囲を別のブックのシートにコピーするには?
Question 54.6 Previous Next
詳細は こちら 500連発(第1弾)315番の「コピーして全て貼り付ける」について質問します。
ワークシートの指定された範囲のセルの内容を別のブックのシートにコピーする場合は、
どのようにすればよろしいのでしょうか?
Answer   Copyright (C) 2002.8.26 永井善王
そのマクロの内容は、セル範囲を変数で指定してコピーし、変数で指定したセルを左上角として貼り付けるというもので、コードの概要は以下のとおりです。
'-----------------------------------------------------------------------------------------
Sub おためしマクロ315()
    Worksheets("S315").Activate
    コピー範囲左上 = "D5"
    コピー範囲右下 = "J7"
    貼付位置 = "D9"
    コピーしてすべて貼り付ける_A1指定
End Sub
'=========================================================================================
Private Sub コピーしてすべて貼り付ける_A1指定()
    Range(コピー範囲左上 & ":" & コピー範囲右下).Copy 'コピー
    Range(貼付位置).PasteSpecial Paste:=xlAll   '★★★ すべて貼り付け
End Sub
'=========================================================================================
このマクロを別のブックのシートへ貼り付けるように改良したいという、ご希望でしょうか。

これについては、このHPの「コピー」のページに掲載している 「すべてコピーする」の中に下記のマクロがあります。
'-----------------------------------------------------------------------------------------
Sub クリップボードを経由せずにコピー貼り付けする_異なるブック()
    Workbooks("BBB.xls").Worksheets("SSS").Range("A1:C3").Copy _
    Workbooks("BB2.xls").Worksheets("SS2").Range("A4") '※1、2、3、4
End Sub
'-----------------------------------------------------------------------------------------
これを参考にして 315番のマクロを改良すると、次のようになります。
'=========================================================================================
Private Sub コピーしてすべて貼り付ける_A1指定()
  Workbooks("315.xls").Worksheets("S315").Range(コピー範囲左上 & ":" & コピー範囲右下). _
  Copy _
  Workbooks("New.xls").Worksheets("Sheet1").Range(貼付位置) '★★★ すべて貼り付け
End Sub
'=========================================================================================
改良したマクロは、コピー元が 315.xlsの S315シート、コピー先が New.xlsの Sheet1となっていますが、このブック名とシート名は状況に合わせて変更してください。