• 締切済み

エクセル 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

  • エクセル VBAの時間制御

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

  • EXCEL VBAでユーザーフォームを使ってデータを入力したい。

    EXCEL VBAでユーザーフォームを使ってデータを入力したいと思っています。(ユーザーフォームはできています。) 入力項目が4項目あります。 名前 作業コード 開始時間 終了時間 上記4項目と登録ボタンです。 sheet1にユーザーフォームを表示し sheet2の A1に名前 B1に作業コード C1に開始時間 D1に終了時間が 登録ボタンを押すごとに どんどんデータを記録していきたいのです。 VBA初心者ですのでコードがよくわかりません。 ご教授ください。よろしくお願いいたします。

  • エクセルVBAでVBAの修正は出来るのでしょうか?

    エクセルVBAでVBAの修正は出来るのでしょうか? あるエクセルファイルにマクロを組み込んでいます(ユーザーフォームも使用)。 このエクセルファイルを複数個フォルダ内にコピーしています。 このコピーした全てのファイルのマクロの修正をVBAで出来ないかと考えています。 修正箇所はモジュール内のコード修正、モジュールの追加、既存のユーザーフォームにボタン等の追加等です。 エクセルは2003を使用しています。 どなたか教えてください。

  • エクセルVBAの質問です。

    エクセルVBAでユーザーフォーム上からセルを選択したいのですが、可能でしょうか? 当初はユーザフォーム上のボタンにRange("a1").selectを入れておき、ボタンをクリックするとA1セルが選択状態になり、キーボードで入力できると思ったのですが、駄目でしたorz とまぁユーザーフォーム上のボタンを押すとキーボードでセルに直接入力ができる状態にしたいです。 アドバイスの程よろしくお願いします!

  • ExcelのVBAで制御する画面の大きさを比率で制御出来ますか?

    はじめまして。初心者なんで、教えて下さい。 通常、VBAでWindowの大きさを制御する場合、WidthやHeightで具体的なサイズを指定すると思いますが、 それぞれのユーザーの画面の大きさ(例えば、XGAやSVGA)で横幅の80%で表示するということは可能なのでしょうか? ぜひ、教えて下さい。

  • VBAでエクセルからエクセルのファイルを開くには?

    D:\に db1.mdb Book1.xls があります。 db1.mdbのフォームのコマンドボタンをクリックして Book1.xlsを開きたいのですが VBAコードをご教授いただけますか? (マクロではなくVBAコードが知りたいです) エクセルからエクセルのファイルを開くなら Workbooks.Open ファイルのフルパス で出来ました。 ご回答よろしくお願いします。

  • アクセスVBAでエクセルを操作するのは不可能でしょうか?

    アクセスVBAでエクセルを操作するのは不可能でしょうか? テスト.xlsのシート1の1行目コピーして テーブルに追加するということがしたいのですがどういうコードを書けばいいのか分かりません。 テスト.xlsは開いている状態です。 アクセス側のユーザーフォーム上のコマンドボタンをクリックしたらこの動作を実行するコード。。。 というのは不可能でしょうか?よろしくお願い致します。

  • エクセルVBA escキーのマクロ

    初心者に毛が生えた状態です。エクセル2000を使っています。 ワークシートをWクリックするとユーザーフォームを表示するようにマクロの記述をしています。 ユーザーフォームをキャンセルボタン(×)で閉じるとシートのセルの中にカーソルが入った状態になります。 それをescキーを押した時のように、カーソルがセルの中に無い状態にしたいのです。 マクロの記録でescキーを押しても記録されないので、コードが分かりません。 ユーザーフォームの×ボタンを押したら、Wクリックする前の状態に戻すコードを教えてください。 よろしくお願いします。

  • エクセルVBAでセルの値を1分毎にコピーしたい

    エクセルでA1にスピンボタンでカウントした値を1分毎に順次他のセルにコピーしたいのですがVBAで可能でしょうか。またそのA1の値も30分あるいは1時間毎にリセット(ゼロからスタート)したいのですがVBAで可能でしょうか。 よろしくお願いします。VBA初心者です。

  • エクセルVBA コントロールの制御

    エクセルのシート上にコマンドボタンを貼り付けています。このシートを縦横にスクロール移動してもコマンドボタンは常に同じ位置(たとえば画面中央)に在るようにプロパティかVBAで制御できないでしょうか。 エクセルは2003Pro、WindowsはXpProです。

専門家に質問してみよう