dポイントプレゼントキャンペーン実施中!

初心者です。
ゲームをエクセルVBAで作っています。

ユーザーフォームからスタートさせて何分~何分の間にあるボタンをクリックしたら指定したユーザーフォームが開くというようなコードが知りたいです。

時間の制御がよく分からずに困っていますのでよろしくお願いします。

A 回答 (2件)

ゲームに詳しいわけではありませんが


>ユーザーフォームからスタートさせて
スタートボタンをクリックしたら 指定のシートのあるセルに その時の時刻を入れる
>あるボタンをクリックしたら  その隣のセルに、その時の時間を入れる
>何分~何分の間        さらに、その隣に、2つのセルの時間の差が出る式を入れておく
さらにその隣に、IF文で、指定した時間の範囲であれば TRUE が出るようにでもしておく

これで十分ではないでしょうか。
変数の受け渡しも方法ではありますが、エクセルであれば あいているシート、セルを活用したほうが便利です。
設定用のシートを準備して、表示したい 最少、最大の数値を入れておけば出来る様に準備しておけば
実際のゲームの動きを見ながら、設定の変更も楽にできると思うのですが。
(いちいちVBE開いてコードを変更する必要のなく)
    • good
    • 0

Application.ontimeを使って、最初の「何分」になったらcommandbuttonのenabledプロパティをtrueにしてクリック可能にしておいて、そのときに終わりの「何分」になったらcommandbuttonのenabledをfalseにしてしまうコードとユーザーフォームを表示させるコードを実行してください。



時間制御の何がわからないのかを書かないと答えようがないです。
私のHPですが時間の関数といってもこのようにいろいろあります。・・・http://homepage2.nifty.com/DreamyCat/APIpage1.ht …
自分で使えそうな気がするものでやってみて、もっといいものに発展させていくのが理解を進めるうえで効果的と思います。

自分でやりたいことの順序を詳細に紙に書き出して、それに必要な関数を調べ、順序通りになるように書いて行ってください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!