テクノロジーで遊ブログ

テクノロジーで遊びたい!!!と勝手に発信するブロブ

VBAカウントダウンタイマーのコードの意味を調べてみた。

先日、ド素人ですがVBAでカウントダウンタイマーを作ることに成功しました!!

 

コピペですが、、、

 

忘れないうちに自分メモ的にコードの意味を調べてみます。

 

参考にどうぞ!!

 

間違っていたらごめんなさい!

 

まずは標準モジュール

f:id:penguin_x:20190924185604p:plain

 

引用元:”*you”様の Ateitexe非IT企業のプログラマによるメモブログより引用させていただいています。

ateitexe.com

 

Public rng As Double

Publicグローバル変数、モジュールをまたいでどこからでも使える

rng:変数

As:おきまりに入れるやつ。

Double変数のデータ型、倍精度浮動小数点数型(なんのこっちゃ?)

 

DateAdd("s", Range("D2"), Time)

DateAdd関数の構文

DateAdd(interval, number, date)

DateAdd(単位, 加算時間, 日時)

 
interval 必ず指定します。追加する時間間隔を表す文字列式を指定します。
number 必ず指定します。追加する時間間隔の数を表す数式を指定します。将来の日時を取得するには正の数を指定します。過去の日時を取得するには負の数を指定します。
date 必ず指定します。時間間隔を追加する日付を表すバリアント型 (内部処理形式 Date の Variant) の値またはリテラル文字列を指定します。

 エクセルの神髄様より引用

VBA関数(日付,DateAdd)|ExcelマクロVBA入門

 つまり

interval”を”S”(秒)で設定。

number”はセル番地。

date”はTimeで時間設定。

 

cnt_d = DateDiff("s", Time, limit) + rng

DateDiff(単位, 開始日時, 終了日時)
開始日時から終了日時までの期間を指定した単位で取得します。

引数「単位」 期間の単位を表す文字を指定します。
引数「開始日時」 期間の開始となる日時を指定します。
引数「終了日時」 期間の終了となる日時を指定します。
戻り値の型 数値型 (Integer)

  引用元:Tipsfound様より引用

 

 UserForm1.TextBox1 = Format(TimeSerial(0, 0, cnt_d), "nn:ss")

Format

Format(, 書式)
書式の形式で文字列に変換します。

引数「値」 数値や日付などを指定します。
引数「書式」 省略できます。書式を指定します。
戻り値の型 文字列型 (String)

 引用元:Tipsfound様より引用

TimeSerial

TimeSerial(, , )
指定したの時刻を取得します。

引数「時」 時の値を指定します。
引数「分」 分の値を指定します。
引数「秒」 秒の値を指定します。
戻り値の型

日付型 (Date)

 引用元:Tipsfound様より引用

 

これ考えた*you様天才です。

はやく色々できるようになりたいですね!!