Excel VBAの「Second 関数」について解説します。
Second 関数とは
Excel VBA の Second 関数は、指定した時刻から秒を表す整数値 Variant (Integer) を返します。
では、Second 関数の構文や引数の設定など、実際の使い方について解説していきたいと思います。
Second 関数(Visual Basic for Applications リファレンス)
構文(引数と戻り値)
Excel VBAの関数を使いこなすには、関数の構文を正しく理解しておくことが重要です。
構文
Second(time)
引数
引数 | 説明 |
---|---|
time | 【必須】時刻を表すバリアント型 (Variant) の値を、 数値式、文字列式(または任意の組み合わせ)で指定します ※ time に Null が含まれている場合は Null が返されます |
戻り値
戻り値 | 説明 |
---|---|
秒を表す数値 | 0 ~ 59 の範囲の整数値 Variant (Integer) を返します |
解説(使用例)
Second 関数は、引数 time に指定された時刻が何秒なのかを示す整数値を返します。
Second 関数の動作を確認するサンプル
引数に設定した時刻から Second 関数で秒を表す整数値だけ抜き出して表示します。
'■Second関数の動作確認サンプル
Sub Second_Sample()
Dim dt 'As Date
'▼Time関数の取得値を変数に代入
dt = Time 'コード実行時刻を取得
MsgBox dt & " は " & Second(dt) & "秒です" & _
vbCrLf & "1秒後は" & Second(dt + 1 / 24 / 60 / 60) & "秒です" & _
vbCrLf & "5秒後は" & Second(dt + 5 / 24 / 60 / 60) & "秒です" & _
vbCrLf & "9秒前は" & Second(dt - 9 / 24 / 60 / 60) & "秒です"
End Sub
実行結果の MsgBox 画像 がこちらです。
・3行目、Date型の変数 dt を用意しています。
・5行目、変数 dt に Time関数でコード実行時の時刻を代入しています。
・6行目~9行目で、MsgBox に Second(dt) と Second(dt + 1 / 24 / 60 /60) で1秒後、Second(dt + 5 / 24 / 60 /60) で5秒後、Second(dt – 9 / 24 /60 / 60) で9秒前の秒の整数値を取得して表示させています。
Now 関数のように日付に時刻が付いているデータの場合、日付部分は無視されます。
Second の引数 (time) に、日付リテラル #17:05:41 PM# や 文字列で ”17:05:41” や “17時5分41秒” などのように指定しても同じ結果になります。
Date など日付・時刻関数の使用例について
Date 関数のほか「日付・時刻」の関数について解説している過去記事があります。下記のリンクからジャンプしてご覧いただければ幸いです。
おわりに
VBAの関数一覧はこちらからご参照ください。
VBAサンプルファイルダウンロードページのご案内
このページで使用したサンプルファイルの登録はありません(^^;
ページ内のコードをコピーしてご利用ください。
ダウンロードページへのリンクは下のカードクリックでジャンプできます。
よろしければご利用ください!
Excel VBA Second 関数は、引数の時刻から秒を抜き出して 0~59 の範囲の整数値を返します。簡単に言うと、時刻の秒の数値だけを返すということです。
Time 関数や Now 関数のように日付に時分秒を含んでいる場合「Hour 関数」「Minute 関数」「Second 関数」を使用して「時」「分」「秒」を取得できます。
Date 関数は日付を取得します。その日付から「月」だけを抜き出すのが「Month 関数」です。
同様に「年」だけを抜き出すのが「Year 関数」、「日」だけを抜き出すのが「Day 関数」です。
以上、この解説が少しでもみなさまのお役に立てたなら幸いです(^^;