[VBA]「Meeting Timer」ライクなツールをExcel VBAで作ってみた
発端
製作方針
可能な限りUIは以前使われていたアプリに近づけました。
使用感の変更は顧客満足度にとってマイナスに働くことが多い理解です。
なお、最初のアプリから変更した点がいくつかあります。
1 単価情報の入力も同じ画面で行うようにした
以前のアプリでは役職ごとの単価を隠したい意図があった理解です。
が、オンラインミーティングの画面で使う前提であり、
例えば文字色を白にするだけで隠せるため機能の作りこみは中止。
2 設定保存用のボタンを無くした
Excelのワークシート上に設定を保存すればOKであり、
そのための機能は作らない事としました。
また、今回の件で、ユーザーフォームは敢えて使わない事としました。
なぜなら、ツイ主の意向を考えると「有料noteを購入するだけで使えるVBA」なので、ユーザーフォーム上に作りこみを行った場合、テキストでの配布が困難になるからです。
ちなみに、ユーザーフォームで作りこんだものを公開する場合は、ダウンローダー使って公開するのが吉かと思うのです。
成果物1(VBAコード)
[メイン]シートのコードです。ボタンをクリックした際の動作を記述しています。
Option Explicit
Private Sub cmdReset_Click()
'--------------------------------------------------------------------------------
'「リセット」ボタンクリック
'--------------------------------------------------------------------------------
'・タイマーを停止(isRunningフラグをリセット)
isRunning = False
'・経過時間を0に設定
ThisWorkbook.Sheets("メイン").Range("経過時間").Value = 0
'ステータスバーの表示を消去
Application.StatusBar = Null
DoEvents
End Sub
Private Sub cmdStart_Click()
'--------------------------------------------------------------------------------
'「スタート」ボタンクリック
'--------------------------------------------------------------------------------
'表示文字列で分岐
If cmdStart.Caption = "スタート" Then
'「スタート」だった場合
'・表示文字列を「ストップ」に変更
cmdStart.Caption = "ストップ"
'・タイマーを開始(isRunningフラグをセット)
isRunning = True
'前回時刻に現在時刻を設定
datePrevTime = Now()
Else
'「ストップ」だった場合
'・表示文字列を「スタート」に変更
cmdStart.Caption = "スタート"
'・タイマーを停止(isRunningフラグをリセット)
isRunning = False
End If
'・経過時間を表示
Call DisplayTime
End Sub
ここから先は
2,398字
/
13画像
¥ 500
この記事が気に入ったらサポートをしてみませんか?