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

締切り済みの質問

別ファイルにある特定の文字列をコピーするマクロ

マクロ初心者です。

取引先一覧.xlsのA2、B2、C2(A3、B3、C3…と、数十行続きます)に入っているそれぞれの三つの文字列を、
別ファイルである 伝票.xls の A2、A3、A4にコピーするマクロを組みたいです。

コピーする際は、 伝票.xls に設置した各取引先を示すボタンを押すことで、それぞれの取引先の住所や名前が 伝票.xls のA2~A4に飛んでくるようにしたいのですが、ファイルをまたがってのコピーの方法が分かりません。

初歩的な質問である上に分かりにくい説明で申し訳ありませんが、よろしくお願いいたします。

投稿日時 - 2013-12-04 23:42:37

QNo.8373574

すぐに回答ほしいです

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

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

回答(2)

ANo.2

>取引先一覧.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に飛んでくるようにしたい

今回のご質問は「ファイルをまたがってのコピーの方法が分かりません」なのでフォローはしませんが、改めて「どこをどう調べたら『この行のデータが欲しい』と判るようになっているのか」、あなたのエクセルの詳しい状況が目に見えるよう説明を添えて、新たなご相談として投稿してみて下さい。

投稿日時 - 2013-12-05 01:01:36

ANo.1

「マクロの記録」は扱えますか?

その2つのブックを開いた状態で、伝票.xlsの側で「マクロの記録亅を実行
伝票ブックのセルA2で式[=]を入力し、取引先ー覧ブックのセルA2を選択し確定。
で、「マクロの記録」を停止。
これでセルのフオーミュラに他ブックのセル指定するコードがわかるはず。
VBEで行コピーして、セルアドレス書き替えて実

投稿日時 - 2013-12-05 00:34:50

あなたにオススメの質問