- ベストアンサー
エクセルマクロ:別のブックから該当するデータをコピー
Book1のSheet1、A列に日付、B列に対応するデータがあります。 Book2のSheet1A1セルに入力された日付と一致するBook1Sheet1B列の値を、Book2のB1セルに値貼り付けしたいのですが、どのように記述すればよろしいでしょうか。 宜しくお願いいたします。
- gucchi-you
- お礼率89% (84/94)
- オフィス系ソフト
- 回答数2
- ありがとう数1
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
以下のマクロをBook2/Sheet1のシート名タブ右クリック→「コードの表示」で開く画面に貼り付け、シートに戻りA1に日付を入力してみて下さい Private Sub Worksheet_Change(ByVal Target As Range) Dim ret If Target.Address = "$A$1" Then Set ret = Workbooks("Book1.xls").Sheets("Sheet1").Range("A:A") _ .Find(ActiveSheet.Range("A1").Value) If ret Is Nothing Then ActiveSheet.Range("B1").Value = "該当なし" Else ActiveSheet.Range("B1").Value = ret.Offset(0, 1).Value End If End If End Sub Hitする日付が複数あったら、最初の値をB1に格納しています。
その他の回答 (1)
- zap35
- ベストアンサー率44% (1383/3079)
#01です。 書き忘れてました。これだけならVLOOKUP関数で済んでしまう内容ですが、なぜVLOOKUP関数ではダメなのですか? BOOK1、BOOK2共に開いていればブックをまたがっても参照はできますよ
関連するQ&A
- エクセルのマクロで悩んでます
はじめて投稿いたします。 現在、エクセル2000でマクロを組んでいるのですが、何日も悩んでそこから動けないので質問させていただきます。 やりたいことは、 (1)検索フォームの入力テキストに記載した数値を読んで検索ボタンを押すと、 (2)データブック.xls内の完全に一致した数値のセルの行をアクティブにして (3)その行のA列からO列の値をコピーして (4)入力ブック.xlsの入力シートのB4:B18に数値だけ貼り付け したいと考えています。 検索フォームは入力ブック.xls内で作成しています。 今のところ、(3)でA列の値を読んで、(4)でB4セルに貼りつけということはできているのですが、複数になるとできていません。 根気よく、同じプログラムを書くのが良いのでしょうか? かなり面倒なので、もっと簡単にかける方法があれば教えてください。
- 締切済み
- Windows XP
- エクセルマクロ コピー元と貼り付け先を指定してコピー&ペーストを実行するマクロ
単刀直入にやりたいことを述べます。 Cドライブと仮定します。3つのBOOKがあります。 それぞれ ----- BOOK1.xls「○○Sheet」・・・(実行するファイル) A 1 BOOK2.xls「△△Sheet」・・・(コピーするファイル名の指定です) 2 A2:E2・・・(コピーするセル範囲の指定) 3 BOOK3.xls「□□Sheet」・・・(貼り付け先のファイル名の指定です) 4 A5・・・(貼り付け先のセルの指定) ----- BOOK2.xls「△△Sheet」・・・(コピー元ファイル) ABCDE 1 あいうえお 2 かきくけこ 3 ・・・・・ ----- BOOK3.xls「□□Sheet」・・・(貼り付け先のファイル) ABCDE 1 ・・・・・ 2 かきくけこ・・・(貼り付け) 3 ・・・・・ ----- >やりたいこと BOOK1.xls「○○Sheet」のA1のセルの値とA2セルの値を参照し、 その該当BOOKのセル範囲(BOOK2.xls「△△Sheet」のA2:E2)をコピーして、 BOOK1.xls「○○Sheet」のA3のセルの値と、A4セルの値を参照し、 その該当BOOKのセル範囲(BOOK3.xls「□□Sheet」のA5)へペーストする。 別のブックの指定したセルの値を別のブックの指定したセルへ貼り付けるだけなんですが、 以前関数を使って似たような事をしようとしたのですが、うまくいかなかったので、マクロならできるのでしょうか。 よろしくお願いします。(ちなみにエクセル2000又は2003です)
- ベストアンサー
- オフィス系ソフト
- エクセルのマクロについて質問です。
エクセルのマクロについて質問です。 マクロを発動した時に、あるセルに入力してある数値を参照し、その行のX列目に数値を張り付けるものを作成しようとしています。 例えば シート「1」の A1に日付を入力 B1にある数字を入力 シート「2」の A列にA1→1~A31→31の日付が入力されている時 マクロ発動時にシート「1」A1の日付と一致する シート「2」のB列にシート「1」のB1の値を貼り付け ↑たとえばシート「1」のA1が1日でB1が500だった場合 シート「2」の1日(A1)と同じ行でB列(B1に500を 貼り付けるものです。 かなり下手な説明だと自覚しておりますが、解読できる方 どうかご教授ねがいます。
- ベストアンサー
- その他MS Office製品
- EXCELでブックを開かず?に値をコピーするには?
VBAに関する質問です 現在作業中のブック「Book1」のシート「Sheet1」のセル「A1~A10」の値を、開いていない「Book2」のシート「Sheet2」のセル「B1~B10」にコピーし、さらに「B1~B10」の値をソートするということをしています。 現状ではBOOK2を開いてコピーするという方法しか判らないので、そうしているのですが、いちいちBOOK2が立ち上がるのが目障りなので、BOOK2を開かないか非表示のまま作業できないものかと思っております。 何卒よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルのブック間で値のみコピー
エクセル 2003使用です。 エクセルのブック間におけるシートのコピーについてお願いします。 Book.Aのシート1の各セルは、関数の数式で入力(出力)されています。 このシートをコピーして、Book.Bにペーストしたいのですが、 コピーは、関数計算後の”結果の文字列”で行いたいです。 Book.Aのシート全体をコピーして Book.Bのシートに「形式を選択して貼り付け」 → 「値」 で可能なのですが、シート数が多いので困っています。 Book.Aのシートタブを右クリックして「移動またはコピー」で シートのコピーをすると、数式でコピーされてしまいます。 この方法で、値のみコピーのような方法はありませんでしょうか? よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- エクセルで一つのセルに別Bookのデータを貼り付け
エクセルで別Bookにある複数の参照データを一つのセルに 貼り付けたいのですが、 例えばBook1には以下のようなデータがあります。 A列 B列 1 バナナ カテゴリ1 2 もも カテゴリ1 3 りんご カテゴリ1 4 メロン カテゴリ1 5 バナナ カテゴリ2 6 みかん カテゴリ2 7 もも カテゴリ3 8 バナナ カテゴリ3 9 いちご カテゴリ3 10 もも カテゴリ4 Book2にはB列にカテゴリ1・カテゴリ2・カテゴリ3というように、 項目が入力されています。 Book1を参照して、B列のカテゴリ1に当てはまるA列の値(例ではバナナ、もも、りんご、メロン)を Book2のカテゴリ1の横(A1)の一つのセル内に貼り付けたいのですが 可能でしょうか? A列 B列 1 バナナ もも カテゴリ1 りんご メロン 2 バナナ カテゴリ2 みかん 3 もも カテゴリ3 バナナ いちご つまり、Book2を上記のような形にできればと思います。 拡張子は .xlsxです。 A列の項目とB列のカテゴリ数は数1000ほどあり、 各カテゴリの数は1つのものもあれば、10数個あったりと不揃いです。 カテゴリに見合わせてコピペしていくのは大変なので 良い方法があれば、ご教授宜しくお願い致します。
- ベストアンサー
- その他MS Office製品
- 別Bookのデータコピーについて
Book違いのデータをコピー(Book1のSheet1のI,Jを埋めたい)したいと思います。 Book参考のSheet野菜は空白行が存在し、A3~A90までデータが入っています。 また、Sheet1 H列の名前はBook参考のSheet野菜のA列に必ず存在します。 Book参考はデスクトップにあり、自動で開ける方法にてお願い致します。 元 Book1のSheet1 H I J 3 トマト 4 きゅうり ・ ・ 15 レタス Book参考のSheet野菜 A B C D 3 アスパラガス 300 6/2 長崎県 4 いんげん 400 1/13 鹿児島県 5 6 きゅうり 200 11/6 宮崎県 53 トマト 250 2/26 島根県 90 レタス 300 7/7 佐賀県 ↓ Book1のSheet1 H I J 3 トマト 250 2/26 4 きゅうり 200 11/6 ・ ・ 15 レタス 300 7/7 となるように
- 締切済み
- オフィス系ソフト
- エクセルマクロで日付検索について
エクセルのマクロで日付を検索するマクロについて質問です。 ブックAのシート1のA列に A1 2017/3/13 A2 2017/4/1 A3 2017/4/19 A4 2017/5/16 A5 2017/7/17 A6 2017/9/5 というような日付が入っています。 ブックBのシート1のA1セルに2017/6/3と入力してマクロを実行した際に その日付に一番近い一つ前の日付を探し、見つけた日付のB列のセルを ブックBのシート1のA2セルに表示したいです。 今回の例であれば2017/6/3に対してブックAのシート1のA列はA4セルが当てはまり その当てはまったA4セルの1つ横のB4セルの内容をブックBのシート1のA2セルに表示するということです。 よろしくお願いします。
- 締切済み
- Excel(エクセル)
- エクセル ブック間で同一データのチェックしたいのですが・・
請求書のフォームのようなものを作成しています。 book1にはA列:IDNO. B列:商品名 C列:金額・・・などとデータが保存されています。件数が2000ちかくあります。 book2で、請求明細のようなものを作りたく、Vlookupを使い、IDNO.を打ち込むとbook1にある、データが反映されるようになりました。 そこで、教えていただきたいのですが。・・ book2でIDNO.を入力したときに 同一の book1データ内にあるIDNO.の となりの(B列:商品名)セルに、色をつけることは出来ますでしょうか? 質問がわかりづらくてごめんなさい。ぜひ教えてください。m(__)m
- ベストアンサー
- オフィス系ソフト
- Excelでブック間のデータの比較について教えてください。
ブック間で同じようなデータ(A列に番号とB列に名前)が入力されているのですが、1つのデータは更新されて、番号と名前が増えています。1つは、おくれたままなのですが、この2つのブックで誰が抜けているのかを調べたいのです。=Countif(A:A,[Book2.xls]社員一覧!$A1)としたところ異なった名前は1で空白セルのみが0になってしまいます。 2つのブックを比較したい場合はどうすればよいのでしょうか。 宜しくお願い致します。
- ベストアンサー
- その他([技術者向] コンピューター)
お礼
ありがとうございます、試してみます。 >これだけならVLOOKUP関数で済んでしまう内容ですが、なぜVLOOKUP関数ではダメなのですか? まさにご指摘の通り今はLookup関数で処理しているのですが、参照ファイルが非常に重く、かつ大量に処理する必要があるため、再計算を手動にしたままマクロで処理すればひょっとしてして作動時間が節約できるのでは、と思い質問いたしました。