日付時刻:経過時間を取得( Timer 関数 )
Timer 関数の使い方
result = Timer ()
【戻り値】
- result ・・・ 当日午前 0 時から経過した秒数を表す単精度浮動小数点数型(Single)の値。
Timer 関数は、処理中に午前0時を超えた場合、値を「1日の総秒数を反転した値(-86,400 秒)」にリセットし、そこから経過秒数を加算していきます。さらに1日が経過し翌日の午前0時になると「 0 秒」となるので、日付をまたぐ場合は注意が必要です。
【対応策】
1.経過時間の差分の値の絶対値を Abs 関数等で算出して、その値で経過秒数を判定する。
2.「【参考】サンプルVBAソース2」のように、Timar 関数を使用しない。
Timer 関数の使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Sub Sample_Timer() Dim StartTime Dim EndTime StartTime = Timer EndTime = 20 With Sheets("Sheet1") .Cells(1, 1).Value = "" Do Until .Cells(1, 1).Value = 20 .Cells(1, 1).Value = Int(Timer - StartTime) DoEvents Loop End With End Sub |
実行結果
DoEvents 関数について
上記マクロ内には DoEvents というのがありますが、この「DoEvents関数」を使用することで、一時的に、他のアプリケーションが実行できるように Windows に制御を移すことが可能になります。
つまり、マクロを実行後、VBE 画面からマクロを停止することが可能になります。
【参考】サンプルVBAソース2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Sub Sample_Test() Dim StartTime Dim EndTime StartTime = Now EndTime = 20 Cells(1, 1).Value = "" Do Until Cells(1, 1).Value = EndTime Cells(1, 1).Value = Int(DateDiff("s", StartTime, Now)) DoEvents Loop End Sub |
関連記事
-
-
式を評価し、結果(真・偽)に応じた式・値を返す(IIf 関数)
IIf 関数 の使い方 IIf(アイイフ)関数は、式を評価してその結果(真・偽) …
-
-
文字列:文字列を指定した形式に変換する(StrConv 関数)
StrConv 関数の使い方 【書式】 result = StrConv ( s …
-
-
文字列:アルファベットを小文字または大文字に変換(LCase 関数,UCase 関数)
LCase 関数・UCase 関数 の使い方 【書式】 <アルファベットの大文字 …
-
-
変数のデータ型・宣言(Dim ステートメント)
変数の宣言 一般的な方法 【書式】 Dim varname [ As type, …
-
-
色の設定(ThemeColor プロパティ・TintAndShade プロパティ)
ThemeColor プロパティ・TintAndShade プロパティ テーマカ …
-
-
変数がオブジェクト型かどうかをチェックする( IsObject 関数 )
IsObject 関数の使い方 【書式】 result = IsObject ( …
-
-
文字列:文字列の指定した位置から指定文字数取得(Mid 関数,MidB 関数)
Mid 関数・MidB 関数 の使い方 【書式】 result_mid = Mi …
-
-
XlThemeColor 列挙型
XlThemeColor 列挙 定数 値 内容 xlThemeColorDark …
-
-
指定した文字列を数値に変換する(Val 関数)
Val 関数 の使い方 Val 関数は、指定した文字列に含まれる数字を数値として …
-
-
フォントサイズ(Size プロパティ・StandardFontSize プロパティ)
フォントサイズを取得・設定する(Size プロパティ) Size プロパティは、 …