- ベストアンサー
Exel VBAで別シートから該当データを取得する方法
- エクセルVBAを使用して別のシートから該当するデータを取得する方法について教えてください。
- 日付表と一覧表という2つのシートがあり、日付表のC列に一覧表から商品番号と日付が一致するコードを貼り付けたいです。
- 目視で入力しているため、マクロで一度に処理したいか、マッチしたら一覧表側のコードセルにマークをつける方法が知りたいです。
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- Exel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について
部品表というブックがあります A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。 A列 B列 C列 商品名 商品番号 コード モータ U-1325-L ホルダ R-134256 また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。 やりたいことは 部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。 部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。 自分では、部品表の商品番号をコピーして、コード一覧表で検索し、検索結果の右隣のセル(B列のコード)の値を部品表のC列に貼り付ければよいかと思い、書いてみたんですが… Sub 別ブックから貼り付ける() Dim 検索する As Long Windows("部品表.xls").Activate 検索する = cells(i,2).Value Windows("コード一覧表.xls").Activate ActiveWindow.SmallScroll Down:=-3 Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd と、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。 基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。 どうぞよろしくお願いします。
- 締切済み
- Visual Basic
- エクセル 別シートから一覧を抽出したい
部品一覧表を作成しているのですが、2シートあり 1入力シート・2部品コードシートとあります。 部品コードシートにはB列に部品番号・C列部品名・D列部品番号・E列部品名と2行ずつ使い番号・品名がB~Wまで47行分入力されています。 B1:C47、D1:E47…と2列47行にはそれぞれ【A】、【B】、…とセルの名前の定義をつけました。現在【H】までありますが、今後増える可能性があります。 入力シートに、セルの名前を指定したときに部品コードのシートから 一覧を抽出したいのですが、どの関数を使えばよいのかわかりません。 入力シート |部品コードシート G H | A Bコード C部品名 Dコード E部品名 4式入力用にあけています。 |1 1800 ユニットA 1501 電源A 5コード 部品名 |2 1801 ユニットB 1502 電源B 6 |3 G4に関数を入れてG6~G52まで部品コードのシートA1~A47を一気に表示 させたいのです。部品コードシートの行数が変わることはありません。 マクロを使わないと、関数では難しいでしょうか?
- 締切済み
- オフィス系ソフト
- 別シートから該当する項目を引用したい。
部活のコーチ陣で、毎日、「明日の動き一覧表」を作成しています。 (明日誰が何時に何をする…等、コーチ全員の明日の予定一覧表) シート1に全員分の今月のシフト表があり、 シート2に「明日の動き一覧表」の原本があります。 毎日原本をコピーし、明日の分を作成していくのですが、別シートの明日の日付のシフトが反映するようにしたいです。 VLOOKUP?と思ったのですが、設定の仕方が分からず… どなたかご教示いただけませんでしょうか。 宜しくお願い致します。 シート1: A列に名前があり、1行目に日付(3/1)、交わる部分にその日のシフト(A・B…)があります。 シート2: A列に名前があり、B列にシフト(A・B…)を入力するようになっています。 1列目に時間が記載されており、その時間帯に誰が何をしているかを入力していくのですが、 B列のシフトが反映されるようにしたいです。 ※毎日夜話し合いで作成されるので、明日のシフトが反映されるように。
- ベストアンサー
- オフィス系ソフト
- エクセルでリストに対応するデータを別シートの表
エクセルでリストに対応するデータを別シートの表に参照したいです。 「表シート」のB2にリストを作って、 (リストは「一覧表シート」のA,B,Cが入力されているセルを参照しています。) Aを選択すると101の下の段(B11)に、 「一覧表シート」のAの列101の111が入力されるようにしたいです。 Bを選択すると222、Cを選択すると333が入力できるようにしたいです。 この「表シート」の表がややこしいのですが、 建物の部屋番号に対応しているため、3階2階1階という順になっています。 関数で対応できるものでしょうか? 分かりにくい表ですが、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- マクロで、データの検索と該当データのコピー、別のシートへ移動
えー・・っと。初めて質問するものです。 エクセルの関数だけでは 問題が解決できないので、マクロに挑戦してますが、息詰ってしまいました。 はじめに、合計表のB列とJ列に 1と入力されたらaと記入、2と入力されたらb、3と入力されたらcという風にマクロを作成。 ココまではできたのですが・・・。 このB列とJ列。それぞれ、aのシート、bのシート、cのシートと 入力された時点で それぞれのシートにコピー振分けしたいのですが・・・。うまくいきません。 コピーしたいデータは 合計表のA列からG列のaに変更になってるデータの一行を部分。(合計表は2分割されてる表なので、B列とJ列) わかりづらいですかね?言いたいことが伝わってるといいのですが・・・。 作ってみたのはこんな感じです。 private sub worksheet_change dim as integer for i=2to63 if cells(i,"a").value=1then cells(i,"b")="a" endif next * b,cも j列の場合も同様につくりました。 dim cl as range set cl=range("B:B").find(what:="a",lookat:=xlwhole) if cl=xlwhole then cells("A:G")=sheet2("asheet") sheets("合計表").copy before:=cells("A:G") ここまでで・・わけがわからなくなりパニックになりました。 そもそもできるのか?という謎も生まれ・・・。 よろしく御願いします。
- ベストアンサー
- Windows XP
- エクセルのシート間のデータ抽出について
(1)シートは「集約」用のシートと、「各月」のシートがあります。「集約」シートは、A列には日付、B列には番号、C列には備考欄という表があります。各月のシートも同様ですが、番号の項目だけどの月も「1、2、3,4~」と通し番号でつけてあります。通し番号の数は月によって異なります。多くなる月もあれば、少なくなってしまう月、何もない月もあります。(2)「集約」の日付なり番号なりを入力すると、各月のデータが一つの表に反映されるようにしたいです。何かよい手立てはないものでしょうか?よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- エクセルの1シートを項目別に別シートへ分ける方法
エクセル2010で1シートのデータを項目別に別シートへ自動的に分割する方法で困っています。 検索するとマクロを使うと書いていますが、マクロはほとんど使ったことが無いのもあって、わかりませんでした。 シート1 A列(日付8ケタ+商品番号6ケタ) B列(売上額) 20130515000004 300 20130515000006 100 20130518000004 300 20130519000001 500 20130519000004 300 ・・・ ・・・ をA列の日付部分上8ケタを使って日別にシートを分け、 シート名をuriage20130515(uriageと日付8ケタ)という名前にしシート名+CSV形式で保存したいです。 シート2 シート名:uriage20130515 A列 B列 20130515000004 300 20130515000006 100 シート3 シート名:uriage20130518 A列 B列 20130518000004 300 シート4 シート名:uriage20130519 A列 B列 20130519000001 500 20130519000004 300 このように自動で別シートに分割した上で、シート名CSV形式で保存まで自動でできるとありがたいです。 自動化できるならシートを分割するマクロ、シート名でCSV保存するマクロが一つのマクロになっていても、分かれていてもOKです。 このようなことはできますか? よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- エクセルで別シートの値を取得したいです。
エクセルで質問があります。 別シートからセル値を取得したいです。 ただ、セル番地は行番号、列番号で指定し、 行、列番号はセルに入力してある値を使いたいです。 例 Aシート(値格納シート) B1セル値=1000 -------------- Bシート(値取得シート) A列=行番号入力 B列=列番号入力 C列=Aシートの取得関数 A2セル値=1 B2セル値=2 C2セル=1000(取得値) C2セルの関数に、A2とB2の値を使って Aシートのセル値を取得したいです。 よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- 別シートから値のある行を検索し、別シートに転記
シート1とシート2があり、 シート1のA7がシート2のB列にあり、シート1のB20がシート2のその行のD列の値と同じ場合、シート2該当行のF列の値をシート1のL20に書き込むのですが、どのようにマクロを記述すればいいでしょうか 例えば、 シート1のA7に「A社」、B20に「商品A」があり、 シート2のB10に「A社」が、D10に「商品A」がある場合、F10の値をシート1のL20に返す方法です。 シート2のB列には「B社」や「C社」もあるため、B列の中からシート1のA7と合致する行を検索することになります。
- ベストアンサー
- その他MS Office製品
- 2つの表を比較して、重複する行を色づけするマクロ
下記の様な日付の名前の2つのシートが有るのですが、表2の機種を参照して、B~T列全てが一致する場合、U列チェック欄に○と入力する様なマクロを作成したいのですが、何か良い方法が有りましたらご教授下さい。 マクロコードは簡単なものや定番のものなら読めますが 自分ではあまり書けません。 どなたかよろしくお願いいたします。 (日付シート1) (日付シート2) B~T列 U列 B~T列 U列 機種 機番 製造日 チェック 機種 機番 製造日 チェック A-1 00 0000 ○ A-1 00 0000 ○ A-2 01 0001 ○ A-2 01 0001 ○ A-3 02 0002 ○ A-3 02 0002 ○ A-4 03 0003 ○ A-4 03 0003 ○ A-5 04 0004 ○ A-5 04 0004 ○ B-1 00 0000 C-1 00 0000 B-1 01 0001 C-2 01 0001 B-3 02 0002
- ベストアンサー
- オフィス系ソフト
お礼
大変助かります。 思い通りになりました。 ありがとうございました!