• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL VBAについて)

【EXCEL VBA】Userformで日付とランダムな数字を選択するBOXを作成する方法

このQ&Aのポイント
  • VBA勉強中の方へ、EXCEL VBAでUserformを使って日付とランダムな数字を選択できるBOXを作成する方法をご紹介します。
  • 具体的には、検索ボタンを押すと選択した日付と数字に対応する名前が表示されるという機能を実装します。
  • EXCEL2000を使用している方でも利用可能です。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

勉強を始めたばかりで、これぐらいの課題をやるというのは無理がある。丸写ししないと進まない状態だろう。 直ぐフォームななど言い出さず、シートのセルの値についての処理(色んな場合の処理)を、本などでじっくり勉強してからにすべきだ。シートの検索も中級以上の話で出てくる。 日付と数値もInputboxなどでやっておいて、十分処理のほうで自信が出来たら、GUIの方にもレパートリーを広げる。 フォームだとイベントという概念も勉強しないとならない。 ここは、思いついた例題の回答をする仕組みではないよ。もっと数日は、勉強して・調べてわからない点を絞って質問すること。特にマクロの記録は活用のこと。 ーー アドバイスらしいものを書いておく。 (1)日付は、年月を別セルに設けて、第1行目の日付は日付シリアル値の定数でセットすることを勧める。 (2)フォームで指定した日付で第1行目を(日付の)検索する。 どういうコードになるかは、マクロの記録を取ればわかると思う。RangeのFindメソッドを使うのが良いだろう。 それで指定した日付の(データの)ある列がわかる (3)そこでその列で指定した数値のある行の検索を行う。 (4)見つかった行のA列のデータ(この場合名前)が求めるものだ。 ーー (2)の日付は2対縦横あることは間あげられない。しかし(3)の数値は同じものが同じ列に無きにしも非ずだろう。初心者はよくこのことを忘れるが、非常に大切な点だ。2つ以上ないと仮定できればコードは普通簡単になる。 もし本件あるとするなら、「エクセル VBA Find」でGoogle照会すればコード例は載っているが、初心者に適当なレベルではないと思う。

sukeroku111
質問者

お礼

おはようございます。アドバイスありがとうございます。 (2)のアドバイス、今回は同じ数値が無いので最初から気にしていませんでしたが、今後ある場合もあるので、その場合の勉強をしておきます。 vbaはなかなか面白いですね。また、もう少し勉強して、疑問が出たら質問しますので、その時はよろしくお願いします。

関連するQ&A