マクロ(Excel)で検索して値の返し方について
- マクロの初心者です。関数でいうvlookupなどを使って、検索した値を反映させるマクロをお教え下さい。
- ファイル名「担当ID.xls」のB列へ「顧客名簿.xls」から検索したC列(地域)を返したいです。
- お手数おかけしますが、全くの初心なので、マクロの説明コメントも記載して頂けると助かります。
- ベストアンサー
マクロ(Excel)で検索して値の返し方について
マクロの初心者です。関数でいうvlookupなどを使って、 検索した値を反映させるマクロをお教え下さい。 ファイル名「担当ID.xls」のB列へ「顧客名簿.xls」から 検索したC列(地域)を返したいです。 お手数おかけしますが、全くの初心なので、マクロの 説明コメントも記載して頂けると助かります。 ■ファイル名:担当ID.xls 列A B C 顧客番号 地域 担当ID A-1111 ? os123 A-2222 ? nr456 A-3333 ? wk789 ■ファイル名:顧客名簿.xls ■シート名:Sheet1 列A B C 顧客番号 名前 地域 A-1111 A 大阪 A-2222 B 奈良 A-3333 C 和歌山 以上です。よろしくお願いいたします。
- goozy838
- お礼率81% (13/16)
- その他(プログラミング・開発)
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
マクロサンプル作ってみました。 http://tk27051980.web.fc2.com/tools/VBADownload_03.html あくまでサンプル程度です。 コードは 「担当.xls のサンプル」 の方にあります。 コメントも記述してあります。 「顧客名簿.xls のサンプル」と合わせて試してみてください。 単純な?アルゴリズムでコーディングさせていただきました。 今アップロードしてあるものは、データ数が 担当.xls <= 顧客名簿.xls の関係の時のみ動作します。 担当.xls、顧客名簿.xlsとも、A列2行目から空白セルまで、幾つデータがあるかを調べた後、その結果から動作するようになっているので、途中に空白セルがあるとそこまでしか処理されません。 担当.xls を開くとマクロの有効/無効が出てくるので有効をクリック後、 ツール(T)→マクロ(M)→マクロ(M)で、Sheet1.SampleMacro を実行してみてください。 この手はマクロで組もうとすると色々方法がありますね。 他の言語でも似たようなことをやってきたならともかく、どの言語もやったことが無くて、本件のマクロでプログラミング入門しますという初心者の方には結構難しいレベルなんじゃないかな?とコーディングしていて思いました。
その他の回答 (1)
- layy
- ベストアンサー率23% (292/1222)
vlookupということですが、 バーの「fx」を押して、数式ガイダンス通り行う作業はしていないのか?。 B2はそれで試すくらいはできるかと思う。 それができたのかできなかったのか。 マクロにしたい、というのは一気に設定してほしい。 B2から下のデータがあるまでをってところか?。 マクロの何を期待しているのか?。 1セルでの設定をやってみるのが先だと思うが・・・。
関連するQ&A
- エクセル2007 マクロについて教えてください
エクセルのデータが2個あります。 それぞれ、ファイル名は 顧客データ.xlsと個別シート.xlsです。 顧客データ.xlsには、10名のお客様の情報があり、A1セルには ID番号 と入力してあり、 A2~A11セルにID番号が入力されています。 『個別シート.xlsにマクロで顧客データ.xlsのデータをコピーし、ID番号のフォルダをデスクトップに新規作成し、ID番号を付けて保存する』マクロを作成中です。 顧客番号が1234のお客様のデータを、個別シートにコピーし、デスクトップに1234というフォルダを新規作成し、その中に 個別シート_1234.xls というファイル名で保存をしたいです。 顧客データを自動でコピーするまではできましたが、それ以降ができません。 MkDir "C:\ Documents and Settings\xxx\デスクトップ\nknk\ID " ChDir "C:\ Documents and Settings\xxxi\デスクトップ\nknk\ID " ActiveWorkbook.SaveAs Filename:="個別シート_" & ID & ".xls" ActiveWorkbook.Close マクロを実行すると『実行時エラー76:パスが見つかりません』とエラーになります。 (フォルダ作成の命令文のところが黄色くなります。) ちなみに、個別シートの指定したセルに、IDはコピーされています。 正しく実行できる文を教えてください。また、以降の命令文は正しいでしょうか。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- excel2003 VBAマクロの作成
すいません、下記のような条件を満たすマクロのサンプルコードをお願いします。 ■前提条件 ・「検索元データ」はマクロ.xlsの中にある ・「検索先ファイル」は管理ファイル.xlsである ・マクロ.xlsファイルのA列にはデータがn個ある(セル範囲A2:A(n+1)まで) ・C:\one\two\three\管理ファイル.xls のフォルダ位置である(絶対パスで指定する) ・管理ファイルの中にはSheet1,Sheet2,Sheet3・・・・Sheet10の10コのシートがある ■マクロでしたいこと (1)A列のデータが管理ファイル(ブック内)に記載されているかチェックする (2)A列のデータをチェックしたら、下記の通りに列にチェック情報を記載する B列 データがいくつあったか(管理ファイルに記載されていない場合は0と表示) C列 データが記載されているシート名(B列が0の場合は0と表示) (3)次のデータへ (4) (1)-(3)をA列のデータがなくなるまで繰り返す (5)データがなくなったら終了(保存せず閉じない) 以上です。 よろしくお願いします。
- 締切済み
- 会計ソフト
- excel2000マクロ抽出方法
2つのファイルがあります。ブック名A.XLS シート名 WORK ブック名b.XLS シート名 SORT ブック名A.XLS シート名 WORKに下記のデータが入っています。 AD 1300G A227550 000PA505(C列2行目) 200112(F列)200201(G列)200202(H列)200203(I列)200204(J列)200205(K列)→1行目固定データ AD 1300G A227550 000PA533(C列3行目) ブック名b.XLS シート名 SORTに下記のデータが入っています。 AD 1300G A227550 000PA505(A列2行目)200112(E列)200201(F列)200202(G列)200203(H列)200204(I列)200205(J列) →1行目E列~J列のデータは都度変わっている AD 1300G A227550 000PA533(A列3行目) データ抽出条件 ブック名A.XLS シート名 WORKの F列~K列の1行目の列データとブック名b.XLS シート名 SORTの E列~J列の1行目の列データが同じで、ブック名A.XLS シート名 WORKのC列の2行目以降のコードと ブック名b.XLS シート名 SORTのA列の2行目以降のコードが同じだったら ブック名b.XLS シート名 WORKの E列~J列の同じ行にデータを入れる。違うときは、 ブック名b.XLS シート名 WORKのデータはそのままにする。 上記の条件を満たしたマクロの記述の仕方を教えてください。 以上よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル2000マクロ検索方法
Aのファイル a.xls シート名 aaa Bのファイル b.xls シート名 bbb Aのファイルに下記のデータベースがあります。 A列 B列 0001 100 0002 200 0004 300 Bのファイルに下記のデータベースがあります。 A列 B列 0001 300 0002 200 抽出条件方法 AのファイルとBのファイルのA列を参照して違うものだけを、Aのファイルから 別のファイルに取り出す方法をマクロでの記述方法を教えてください。 別のファイルに取り出すデータは、下記の通リです。 A列 B列 0004 300 以上よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- excel2000マクロ記述方法
抽出条件方法のマクロ記述 1つのファイルのシートの中にデータがあります。 例ファイル名a.xlsシート名マスター B列 C列 D列 E列 項目名 倉庫 翻訳 ソート 非表示項目 A057 レオナ工場 1 A870 セ新港 2 Y A887 セ日向 3 もう1つのファイル 例ファイル名B.xlsシート名WORK A列 B列 c列 d列 E列 連結コード 品名 倉庫 出荷1 加工1 AA 0G120 0G120 A870 0 0 0 AA 0H120 0H120 A057 0 0 0 AA 0S0100 0S010 A887 0 0 0 抽出条件方法 シート名WORKのデータの中のC列と、シート名マスターのB列の倉庫を参照して 非表示項目のYが入っていない、倉庫と同じデータをシート名WORKのデータを抽出したい 場合のマクロ記述の方法を教えてください。よろしくお願いします。 (抽出表示方法) AA 0H120 0H120 A057 0 0 0 AA 0S0100 0S010 A887 0 0 0
- ベストアンサー
- オフィス系ソフト
- Excel2000マクロ_大量のシート名を楽に変更するマクロ
何方か、回答を宜しくお願いします。 deta.xls(多数のシートが有る)シート名変換.xls(マクロが書いてある) 上記の2つのファイルが有りますが、やりたいことはdeta.xlsがアクティブの 時にショートカットでマクロAを起動して、シート名変換.xlsの「シート名」と いうシートのA1から下方向にdeta.xlsのシート名を所得する。 そして、マクロ終了後所得したシート名を変えて。 deta.xlsがアクティブの時にマクロBを起動して、「シート名」のA1から下方向に deta.xlsのシート名を変更する。 宜しくお願いします。 下記参考 Sub マクロA() Dim i As Worksheet ThisWorkbook.Worksheets("「シート名」").Columns("A:A").ClearContents '書き込む前にA列のデータをクリア Dim WS As Worksheet For Each WS In Worksheets
- ベストアンサー
- オフィス系ソフト
- エクセルの一致検索マクロについて
申し訳ありません。お力かして下さい。 ~~~~~~~~~~~~ ◆シート名(役員一覧) A列 B列 C列 田中 藤田 秋山・・・・ 清水 小田 北山・・・・ ◆シート名(役員名簿) A列 B列 会計 田中 総務 秋山 会計 近江 書記 堀田 ・ ・ ・ ~~~~~~~~~~~~~ とある時に,シート名(役員一覧)に入力された名前と完全一致する 名前をシート名(役員名簿)のB列より検索し,その行を色付けなどで チェックできるマクロの作成に滞っております。 どなたか何とかお力かしてください!!!
- 締切済み
- Visual Basic
- EXCELでコマンドボタンを使用したマクロ
EXCEL2003を使用しています。 A列にプロジェクト名、B列以降の列にデータが入っています。 A列のプロジェクトについて、ランダムに担当者が10名います。その担当者名はどこのセルにも記載していません。必要ならば別シートに記載してもOKです。 担当者名の列をどこかに挿入し、その担当者名で並べ替えることはしません。 今あるシートを、各担当者がデータを入力し易くしたいのです。 例えば、マクロのコマンドボタンを使って、各担当者にIDをつけ、そのIDを入力後ボタンを押したら、A列のプロジェクトが抽出されるシートを作成したいのですが、 マクロを教えてください。 例) 【現在のシート】 A列(プロジェクト名)B列 C列 D列 … さかな 100 100 300 … 野菜 500 650 200 … くだもの 200 150 90 … 鍋 80 200 500 … 鉄板焼き 800 400 700 … : 【定義】 A氏担当プロジェクト=さかな、鍋 B氏担当プロジェクト=野菜、鉄板焼き C氏担当プロジェクト=くだもの ID A氏=111 B氏=222 C氏=333 【作成したいシート】 111を入力後、コマンドボタンを押したら、 A列(プロジェクト名) B列 C列 D列 … さかな 100 100 300 … 鍋 80 200 500 … が抽出される。 解りにくいかもしれませんが、ご回答の程よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 【Excel2003】マクロの実行
お世話になります。 フォルダー内全てのエクセルファイルに、あるマクロを実行したいのですが可能でしょうか? 例としましては フォルダー「変更ファイル」 以下中にあるファイル ------------------------ ファイル「A.xls」 ファイル「B.xls」 ファイル「C.xls」 ファイル「マクロ.xls」←ソートを行うマクロ入り ------------------------ 「変更ファイル」フォルダー内の「マクロ.xls」を実行してA,B,Cファイル(フォルダー内全てのファイル)内データーを各ファイル毎ソートしたい。 この作業はマクロ.xlsのマクロをカスタマイズしてすることは可能でしょうか? 可能ならやり方を教えてください。 お願いいたします。
- ベストアンサー
- その他MS Office製品
お礼
tgook様 マクロを作成していただきありがとう御座いました。 「顧客名簿.xls」ファイルを開いて選択するマクロには驚きました! コメントも記載していただいて非常に分かりやすかったです。 このマクロで勉強もさせていただきます。 お忙しい中、お手数おかけしました。 本当にありがとう御座いました。