- 締切済み
エクセルのことで・・・。
以前、質問したんですがうまく伝えられずもう一度チャレンジしました。 このような事は可能でしょうか? できるかたがいたら宜しくお願いします。エクセル2003です。 sheet1 A B C D E F G 1 名前 みかん 1 2 3 4 2 色 赤 3 個数 5 2 4 6 8 4 印 A 10 12 14 16 sheet2 A B C D E F G H I 1 検索名 名前 色 個数 印 データ1 データ2 ・ ・ 2 1234 みかん 赤 5 A 2 4 6 8 3 2222 りんご 赤 3 B 3 3 3 3 4 3333 いちご 赤 5 A 5 4 3 1 5 4444 メロン 緑 5 B 2 3 4 5 6 5555 さくらんぼ 赤 3 B 7 6 5 4 7 6666 にんじん 赤 5 A 1 2 3 4 sheet1 のD1:G1に文字を入力するとB1:B4とD3:G4に VLOOKUPでsheet2からデータが反映されるようにしてあります。 これを、 1.色・個数・印を入力(入力画面はマクロの実行で現れるようにしたい) 例・赤・5・A ↓ 2.条件に当てはまるものが表示される。(この画面も別に現れてほしい) 例 1234みかん 3333いちご 6666にんじん ↓ 3.6666にんじんを選択(ドロップダウンリストみたいに表示して選択)して完了すると ↓ 4.sheet1 のB1:B4とD3:G4に sheet2からデータが反映されるようにしたいんです・・・。 sheet1のD1:G1に入力する文字をかんたんに検索できるようにしたいんです。 ダメですかね・・・・・。 本当すみません。 面倒ですが、誰かおねがいします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
こんな質問の書き方をしているようでは、この課題は無理でではないかな。ましてVBAでは。 それに丸投げで、やりたいことだけ書いているが、どれだけ勉強したの。 ーー 特に疑問1、疑問2に補足してください。 参考までに。 下記はVBAは使っていませんが、どこかに出番があるかも知れない。 ーー 想像を交えて内容は 大方針 (1)Sheet1は入力用シートとして使う。りんごなど名前を指定用? (2)そのA列の名前データでSheet2の該当行のデータを参照してSheet1にデータを持ってくる。 (3)Sheet1は1件名前入力兼照会結果表か? (疑問1) >条件に当てはまるものが表示される。(この画面も別に現れてほしい) 例 1234みかん ・・・・ これは毎回Sheet1で消えてしまって良いのか。結果を別シートに残すのか?累積していくイメージか? >6666にんじんを選択 そういう2列データの入力規則は作れなかったと思うが。どうする? エクセルの入力規則で無いコンボのようなものは作れるが、質問者には無理。 === Sheet2 Sheet2 A-J列 検索名 名前 色 個数 印 データ1 データ2 ・ ・ 1234 みかん 赤 5 A 2 4 6 8 1234 みかん 2222 りんご 赤 3 B 3 3 3 3 2222 りんご 3333 いちご 赤 5 A 5 4 3 1 3333 いちご 4444 メロン 緑 5 B 2 3 4 5 4444 メロン 5555 さくらんぼ 赤 3 B 7 6 5 4 5555 さくらんぼ 6666 にんじん 赤 5 A 1 2 3 4 6666 にんじん J3の式 =A3& " " & B3 下方向に式を複写 J列で名前を挿入 名前はリストBとする(例)。 ーーー sheet1 A-H列(とりあえずの例) A2::G5(C列は質問例から空白とした) 2222 りんご -- 3 4 7 8 色 赤 -- 個数 3 -- 2 4 6 8 印 B -- 10 12 14 16 A2:A5は手入力 ーーー B2の入力規則は データ入力規則ーリストー =リストB OK B3の式 =INDEX(Sheet2!$A$1:$J$100,MATCH($B$2,Sheet2!$J$1:$J$100,0),3) B4の式 =INDEX(Sheet2!$A$1:$J$100,MATCH($B$2,Sheet2!$J$1:$J$100,0),3) B5の式 =INDEX(Sheet2!$A$1:$J$100,MATCH($B$2,Sheet2!$J$1:$J$100,0),4) B6の式 =INDEX(Sheet2!$A$1:$J$100,MATCH($B$2,Sheet2!$J$1:$J$100,0),5) D2の式 =INDEX(Sheet2!$A$1:$J$100,MATCH($B$2,Sheet2!$J$1:$J$100,0),COLUMN()+2) 右方向に式を複写 == (疑問2) 3 個数 5 2 4 6 8 4 印 A 10 12 14 16 の2468の部分はどのデータを持ってくるのか?
- keithin
- ベストアンサー率66% (5278/7941)
まず下記を勉強して,しっかりマスターしてください。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_userform03.html >1 ユーザーフォームにテキストボックスを3つ配置,色,個数,印を入力する欄だと判るようにラベルコントロールを添えて作成する コマンドボタンを1つ配置,上記のテキストボックスに入力したら検索するボタンにする >2,3 ユーザーフォームにリストボックスを配置,上記の検索ボタンで条件に合うデータをシートから拾ってAddItemする >4 コマンドボタンを1つ配置,リストボックスで選択されたデータをシートに転記するボタンにする その上で,改めて判らない箇所や「実際にやってみてうまく行かない部分」を,必ず失敗したマクロを添えてピンポイントで質問し直してください。 #どこまでは出来そうで何が出来ないのか,ポイントを絞って質問してください。 たとえばユーザーフォームにコントロール(テキストボックス等の事をコントロールと言います)を配置するにはどうしたらいいだとか,そんなレベルの事からイチイチ質問して回答を求めてたら,ここのような質問相談掲示板ではいつまでも先に進めませんよ。 こちらの掲示板は丸投げでも別に構わないですが,コトの最初から最後まで全部全部イチイチ手を引いて代わりにやって下さいみたいな質問は非常識です。
補足
すみません 出直してきます。
補足
すみませんでした。 出直してきます。