質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

1回答

2926閲覧

VBAでコンボボックスから検索したい

aaa00bc

総合スコア6

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2018/01/21 16:20

編集2018/01/21 16:22

###前提・実現したいこと

・シート2のA1:A365まで1月1日といった形で日付が入っています。
・シート2のB1:B365までそれぞれの誕生日花のデータが
入っています。
・ユーザーフォーム1のコンボボックス1に112までの数字が、コンボボックス2に131までの数字が選択できるようになっています。
・コンボボックス1と2で選択された誕生日をもとにシート2のA1:A365から誕生日を探して、B1~B365にある誕生日花のデータをシート3のA1に表示させたいです。

シート2の情報をA列に月、B列に日、C列に花のデータにした場合はそちらの方がよければそちらでお願いします。

###該当のソースコード
Excel のVBA

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

>誕生日を探して、誕生日花のデータをシート3のA1に表示させたいです。
とのことですが、これを実現するためにご自身で何をされたかが記載されていません。

自分なりに調べたことや試したことがあるのなら、それを提示いただいた方が解決も早いと思います。

そしてここはエンジニアが技術的な問題を解決するためのサイトです。

初心者さんとのことですので、動くコードまではかけていなくても仕方ないと思いますが、
もし今回の機能を実現するための第一歩がここでの質問だったとしたら、それはちょっと時期尚早だったかもしれません。

「こんなことがやりたいです。」「やり方を教えてください。」
というのはまだ技術的な問題という段階ではないと思います。

「こんなことがやりたいです。」
「そのためにこういったことを調べました」
「これを参考に作り始めましたが、こんなところがうまく動いてくれません」
「解決方法を教えてください。」
というところまでくれば、積極的に回答もついてくると思います。

処理の流れ

たぶん私が独自に作るのなら、フォームは使わず日付入力もシート上で済ませてしまうと思います。
(この場合、たぶんVBAは使いません。)

今回はフォームを使う前提の質問のようですので、VBAで処理する方が自然だと思いますので、その前提で処理の流れをアドバイスします。

①シート2のA列に記述する月日は、日付型ではなく文字列型で書いておきます。 (閏年以外では2/29を日付として扱えないため、すべての日付を文字列型で用意したほうが無難です。 …といっても365行しか用意していないようなので2/29は考慮外なのかもしれませんが。) ②フォームで入力した月・日を、シート2のA列で入力されている月日の形になるよう文字列連結します。 シートに01/15と記述してあれば、"01/15"となるように文字列作成します。 日付として一致するのではなく、文字列として完全一致することが大事です。 ③作成した文字列でシート2のA列を検索します。 検索の方法は、VLookUpでもいいですし、Findでもできると思います。 ・VLookupの場合はA列で検索してB列を結果として取得する、ということが可能ですが、事前にシート2がA列でソートされている必要があります。 ・Findの場合はA列で検索して見つけたセルの行番号を使ってB列の値を取得します。 (もしくはA列で見つけたセルからShiftを使って1つ右隣のセルを取得でも可) ④取得したB列の値をシート3に出力します。

以上、処理の流れとキーワードになりそうな部分だけ書いてみました。

web上にはExcelの使い方やサンプルソースなどが山ほどあります。
上記をもとにわからないところはちょっと調べてみて、もしまた行き詰るようなことがあれば改めてご質問ください。
その時は、調べた内容や作成中のコードなども提示いただけると解決も早いと思います。

がんばってみてください。

投稿2018/01/22 05:45

jawa

総合スコア3013

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問