• 締切済み

エクセル VBAの時間制御

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

みんなの回答

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

Googleででも「エクセルVBA 時間 実行」などで照会してみること。その中に実行の制御に関する記事もあるのでより分けて読むこと。ほかのトッピクス記事も混じる。検索語「VBA 時間制御」も余りよくヒットしないようだ。参考になる記事はあるだろうが。また VBA Timer VBA Ontime などでも照会すると良い。 エクセル(VBA)はゲーム向きではない。初心者がVBAで実行に関する制御などをやるのは、学習の流れに反していると思う。ゲームでは頻出することも、ビジネスデータ向けのエクセルではやりにくいことが多いはず(ほしい手助けのコマンドなどが、当然用意されてないので苦労する。すると、それ(VBA)より基礎的なAPIを頻用することになったりする)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

>時間の制御がよく分からずに困っています とりあえずご質問の回答: UserForm1とUserForm2を用意 UserForm1にCommandButton1を用意(追加でLabelコントロールも配置) UserForm1に次のように仕込む dim d as single private sub UserForm_Initialize()  d = timer  load userform2 end sub private sub CommandButton1_Click()  dim dx as single  dx = timer  if d + 60 < dx and dx < d + 120 Then ’1分~2分   userform2.show  else   me.label1.caption = dx - d  end if end sub #ご質問に対する直接の回答は以上です 本筋ではないので回答ではありませんが,ついでにネットで「Excel VBA ユーザーフォームを交互に表示」などでちょっとググってみて,ご質問で書いているように「ユーザーフォームを開く」のは「よくない」ことを研究してみてください。

関連する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です。

専門家に質問してみよう