[VBA]「Meeting Timer」ライクなツールをExcel VBAで作ってみた


発端

画像1

製作方針

可能な限りUIは以前使われていたアプリに近づけました。
使用感の変更は顧客満足度にとってマイナスに働くことが多い理解です。

画像2

なお、最初のアプリから変更した点がいくつかあります。
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

この記事が気に入ったらサポートをしてみませんか?