- 締切済み
別ファイルにある特定の文字列をコピーするマクロ
マクロ初心者です。 取引先一覧.xlsのA2、B2、C2(A3、B3、C3…と、数十行続きます)に入っているそれぞれの三つの文字列を、 別ファイルである 伝票.xls の A2、A3、A4にコピーするマクロを組みたいです。 コピーする際は、 伝票.xls に設置した各取引先を示すボタンを押すことで、それぞれの取引先の住所や名前が 伝票.xls のA2~A4に飛んでくるようにしたいのですが、ファイルをまたがってのコピーの方法が分かりません。 初歩的な質問である上に分かりにくい説明で申し訳ありませんが、よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- keithin
- ベストアンサー率66% (5278/7941)
>取引先一覧.xlsのA2、B2、C2に入っているそれぞれの三つの文字列を、 >別ファイルである 伝票.xls の A2、A3、A4にコピーするマクロ sub macro1() workbooks("伝票.xls").worksheets("伝票シート名").range("A2").value = _ workbooks("取引先一覧.xls").worksheets("一覧シート名").range("A2").value workbooks("伝票.xls").worksheets("伝票シート名").range("A3").value = _ workbooks("取引先一覧.xls").worksheets("一覧シート名").range("B2").value workbooks("伝票.xls").worksheets("伝票シート名").range("A4").value = _ workbooks("取引先一覧.xls").worksheets("一覧シート名").range("C2").value end sub 言わずもがなですが、伝票.xlsと取引先一覧.xlsが共に開かれている状況で実施します。 手順によって「開いている」ことが保証できないときは、マクロの中に「取引先一覧を開く」といった命令を明記して備えて下さい。 >ボタンを押すことで、それぞれの取引先の住所や名前が 伝票.xls のA2~A4に飛んでくるようにしたい 今回のご質問は「ファイルをまたがってのコピーの方法が分かりません」なのでフォローはしませんが、改めて「どこをどう調べたら『この行のデータが欲しい』と判るようになっているのか」、あなたのエクセルの詳しい状況が目に見えるよう説明を添えて、新たなご相談として投稿してみて下さい。
- bin-chan
- ベストアンサー率33% (1403/4213)
「マクロの記録」は扱えますか? その2つのブックを開いた状態で、伝票.xlsの側で「マクロの記録亅を実行 伝票ブックのセルA2で式[=]を入力し、取引先ー覧ブックのセルA2を選択し確定。 で、「マクロの記録」を停止。 これでセルのフオーミュラに他ブックのセル指定するコードがわかるはず。 VBEで行コピーして、セルアドレス書き替えて実