[[20070226204040]] 『別ブックの参照とコピー、ペースト』(たか) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『別ブックの参照とコピー、ペースト』(たか)

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

また、質問をさせていただければと思います。

Book1とBook2というブックがあり、Book1のG6からAK17まで

コピーしてBook2のG6からAK17までペーストをしたいと思います。

Book2でマクロ登録→Book1を開く→Book1のG6からAK17をコピー→Book2のG6からAK17へ

ペーストと行ったのですが、その際

Sub Macro2()

    Range("G6:AK17").Select
    Selection.Copy
    Windows("Book2.xls").Activate
    ActiveSheet.Paste
End Sub
となってしまい、Book1が開かれていないとき

Book2からBook1を開くことが出来ません。

また、

Workbooks.Open "C:\Documents and Settings\PC-USER…(省略)"←Book1を指定

    Range("G6:AK17").Copy
としてこの後にペーストを加えますがBook1を開いたとき
Book1のマクロが実行されてしまいます。

このマクロの実行をしないでただ開いてその部分だけをコピーとしたいのですが

どのように行えばよろしいでしょうか?

ここで行いたいのはとりあえずBook2のG6からAK17に

Book1のG6からAK17までペーストしたい

だけですので、開く必要が無ければその旨ご指導いただければと思います。


すいません。皆さんからの返答が無い為、もう一度お願いしたいと思います。

下記マクロにてBook2の参照したいシートをアクティブに

しているときBook1へペーストはできました。

上記では、G6〜AK17のコピーだけでしたが

途中11行目などにロックをかけたセルがありますので、

下記のようになっています。

ただ、下記のマクロにBook2の"a"というシートを開いていなくても

マクロと同時にBook2を開いて、"a"というシートの下記の部分を

コピーしてペーストしたいのですがいかがなものでしょうか?

何卒、お願いします。

(たか)

Sub Macro1()

    Dim i As Long
    For i = 1 To 2
    Windows("Book2.xls").Activate
    Range(Cells(i * 18 - 10, 7), Cells(i * 18 - 10, 37)).Select
    Selection.Copy
    Windows("Book1.xls").Activate
    Cells(i * 18 - 10, 7).Select
    ActiveSheet.Paste
    Windows("Book2.xls").Activate
    Range(Cells(i * 18 - 8, 7), Cells(i * 18 - 7, 37)).Select
    Selection.Copy
    Windows("Book1.xls").Activate
    Cells(i * 18 - 8, 7).Select
    ActiveSheet.Paste
    Windows("Book2.xls").Activate
    Range(Cells(i * 18 - 5, 7), Cells(i * 18 - 4, 37)).Select
    Selection.Copy
    Windows("Book1.xls").Activate
    Cells(i * 18 - 5, 7).Select
    ActiveSheet.Paste
    Windows("Book2.xls").Activate
    Range(Cells(i * 18 - 1, 7), Cells(i * 18 - 1, 37)).Select
    Selection.Copy
    Windows("Book1.xls").Activate
    Cells(i * 18 - 1, 7).Select
    ActiveSheet.Paste
    Next i
    End Sub


 値だけが必要なら。
 
 Sub test()
     Dim c As Range
     For Each c In ActiveSheet.Range("G6:AK17")
         c.Value = Application.ExecuteExcel4Macro _
             ("'C:\temp\[Book2.xls]a'!R" & c.Row & "C" & c.Column)
     Next c
 End Sub
 
【参考】
[[20070227095303]] 『各ファイルから合計数を抽出したい』(みの) 
http://ryusendo.no-ip.com/cgi-bin/fswiki/index.cgi?page=%A5%B1%A5%F3%CB%B7%A4%CEExcelVBA%C1%EA%C3%CC%BD%EA
 
seiyaさんの書き込みで思い出した。
(みやほりん)(-_∂)b

みやほりんさんありがとうございます。
明日にでも試してみますです。
毎回ながらありがとうございます。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.