• 締切済み

エクセル VBAの時間制御

初心者です。 ゲームをエクセルVBAで作っています。 ユーザーフォームからスタートさせて何分~何分の間にあるボタンをクリックしたら指定したユーザーフォームが開くというようなコードが知りたいです。 時間の制御がよく分からずに困っていますのでよろしくお願いします。

みんなの回答

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

ゲームに詳しいわけではありませんが >ユーザーフォームからスタートさせて スタートボタンをクリックしたら 指定のシートのあるセルに その時の時刻を入れる >あるボタンをクリックしたら  その隣のセルに、その時の時間を入れる >何分~何分の間        さらに、その隣に、2つのセルの時間の差が出る式を入れておく さらにその隣に、IF文で、指定した時間の範囲であれば TRUE が出るようにでもしておく これで十分ではないでしょうか。 変数の受け渡しも方法ではありますが、エクセルであれば あいているシート、セルを活用したほうが便利です。 設定用のシートを準備して、表示したい 最少、最大の数値を入れておけば出来る様に準備しておけば 実際のゲームの動きを見ながら、設定の変更も楽にできると思うのですが。 (いちいちVBE開いてコードを変更する必要のなく)

すると、全ての回答が全文表示されます。
  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.1

Application.ontimeを使って、最初の「何分」になったらcommandbuttonのenabledプロパティをtrueにしてクリック可能にしておいて、そのときに終わりの「何分」になったらcommandbuttonのenabledをfalseにしてしまうコードとユーザーフォームを表示させるコードを実行してください。 時間制御の何がわからないのかを書かないと答えようがないです。 私のHPですが時間の関数といってもこのようにいろいろあります。・・・http://homepage2.nifty.com/DreamyCat/APIpage1.htm#time 自分で使えそうな気がするものでやってみて、もっといいものに発展させていくのが理解を進めるうえで効果的と思います。 自分でやりたいことの順序を詳細に紙に書き出して、それに必要な関数を調べ、順序通りになるように書いて行ってください。

すると、全ての回答が全文表示されます。

関連するQ&A