[[20060301163921]] 『セルに行をずらしながら値複写』(anton) ページの最後に飛ぶ

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

 

『セルに行をずらしながら値複写』(anton)

マクロで複数のブックファイル各々の1シートの指定したセルを他の指定したエクセルファイルの指定したシートの指定したセルに行をずらしながら値複写したいのですが出来るでしょうか?近い例があるのですがどうも上手くいきません教えて下さい。
ファイルAのシートaのセルA1〜B1とファイルBのシートbのセルA1〜B1をファイルCのシートcのA1桁とA2桁に分けてそれぞれ値複写するイメージです…Excel2003.XPです


 Sub test()
 Workbooks("C.xls").Sheets("c").Range("A1:B1").Value = Workbooks("A.xls").Sheets("a").Range("A1:B1").Value
 Workbooks("C.xls").Sheets("c").Range("A2:B2").Value = Workbooks("B.xls").Sheets("b").Range("A1:B1").Value
 End Sub
 でよろしいですか〜?
 (G4)

ご指摘有難うございます。コマンド素人なんので申し訳ありませんが、頂いたスクリプトをそのまま使わせていただいてファイル名・シートを入れてみたんですが、実行させると「インデックスが有効の範囲内にありません」とエラーが出るんですが、コマンドが抜けてますでしょうかお教え下さい(anton)


 ブックはすべて開いていますか?
 自動で開くのであれば、コードを追加しなくてはいけません。
 (G4)

再度のご指摘多謝多謝!!フィル名及びシート名を変更することで実行しました。参考までにスクリプトで使えない文字(ファイル名・シート名)を調べるには何処を見れば良いのでしょう。それとコピー元ファイルを開かずに実行するコマンドがあれば教えて下さい。(anton)


 ◆ファイルを開かずに実行の場合◆
 同じフォルダにA.xls、B.xls、C.xlsがあるとして、
 C.xlsの標準モジュールに貼り付けて下さい。
 ----
 Sub test2()
 Dim myPath As String
 Dim i As Long
 myPath = "'" & ThisWorkbook.Path & "\"
 For i = 1 To 2
 Sheets("c").Cells(1, i).Value = ExecuteExcel4Macro(myPath & "[A.xls]a'!R1C" & i)
 Sheets("c").Cells(2, i).Value = ExecuteExcel4Macro(myPath & "[B.xls]b'!R1C" & i)
 Next
 End Sub
 ----
 (G4)

 ◆ファイル名・シート名に使えない文字◆
 このような内容はほとんどヘルプで確認できますので、そちらでお願いします。
 (G4)

有難うございます。内容はよく理解できないのですがその通りに出来ました。活用させて頂きます。とても感謝します。(anton)

コメント返信:

[ 一覧(最新更新順) ]


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