Excelで基礎講座ソフトを作ってみよう

Step 4 課題の設定から時間切れまでを作ってみる

コンボボックスに課題をセットし、「始める」ボタンでカウントダウンを開始します。
カウントダウンがゼロになると時間切れで終了です。


Homeに戻る > Excelでアプリケーションソフト > 基礎講座ソフトを作ってみよう

シートのVBAコード

下記のVBAコードを追加してください。

Option Explicit

'フォームの初期化完了フラッグ
Private forminitFlag As Boolean

下記のVBAコードに変更してください。

'経過時間の確認
Private Function ExTimeCheck(passtime) As Boolean
    Dim ln As Long
    
    ln = Timer - stTime
    '経過時間を表示
    Label1.Caption = passtime - ln
    If ln >= passtime Then
         ExTimeCheck = True
    Else
         ExTimeCheck = False
    End If
    DoEvents
End Function

'コンボボックスの2列目を表示
Private Sub ComboBox1_Change()
    If forminitFlag = False Then
        'フォーム未初期化
        Exit Sub
    End If
    If Not IsNull(ComboBox1.Column(1)) Then
        Label4.Caption = ComboBox1.Column(1)
    Else
        Label4.Caption = ""
    End If
End Sub


'開始ボタン
Private Sub CommandButton3_Click()
    CommandButton1.Enabled = True
    CommandButton2.Enabled = True
    CommandButton3.Enabled = False
    '終了フラッグをリセット
    endFlag = False
    Label3.Caption = "ワークシート上で、課題を実行してください。"
    Ex1exercise
    Label3.Caption = "開始ステップを選択し、「始める」ボタンをクリックしてください。"
    CommandButton1.Enabled = False
    CommandButton2.Enabled = False
    CommandButton3.Enabled = True
End Sub

'フォームオープン前のイベント
Private Sub UserForm_Initialize()
    forminitFlag = False
    '終了フラッグ
    endFlag = False
    
    '2列に設定
    ComboBox1.ColumnCount = 2
    '2列目をコンボボックスのデータとします。
    ComboBox1.BoundColumn = 2
    'リストをクリア
    ComboBox1.Clear
    ComboBox1.AddItem "Step 1"
    ComboBox1.List(ComboBox1.ListCount - 1, 1) = "セルに数字入力"
    ComboBox1.AddItem "Step 2"
    ComboBox1.List(ComboBox1.ListCount - 1, 1) = "セルに文字入力"
    ComboBox1.ListIndex = 0
    Label4.Caption = ComboBox1.Column(1)
    forminitFlag = True
End Sub



実行中の画面

■開始画面
 Step1が表示され、残り時間は0になっています。
課題を選択します。

■Step選択
 現在、開始時にコンボボックスにStep2までセットしています。
課題を変更

■開始
 「始める」ボタンをクリックすると、課題が表示されカウントダウンが始まります。
課題の実行開始

■時間切れ
 カウントダウンが0になると、終了しメッセージが表示されます。
時間切れ


Homeに戻る > Excelでアプリケーションソフト > 基礎講座ソフト

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved