VBAで時刻データを扱っていると、次のようなことはありませんか?
- 時刻から「分」だけ取り出したい
- 時間データを細かく分解したい
- 時・分・秒で処理を分けたい
このような場合は、Minute関数を使うことで解決できます。
時刻データから「分」だけを取得できるシンプルで便利な関数です。
この記事では、Minute関数の基本から実務での活用方法まで分かりやすく解説します。
この記事でできること
- 時刻から分を取得できる
- 時刻データを分解できる
- 実務で使える活用方法が分かる
基本:Minute関数の使い方
基本構文はこちらです。
Minute(時刻)
例:
MsgBox Minute("10:25:30")
→ 25
Minute関数の特徴
- 時刻から「分(0〜59)」を取得
- Date型・文字列どちらでも使用可能
基本例
Dim m As Integer
m = Minute(Time)
MsgBox m
→ 現在の分が取得されます
セルの値から分を取得する
Dim m As Integer
m = Minute(Range("A1").Value)
MsgBox m
A1に入力された時刻から分を取得できます。
Hour・Secondとの組み合わせ
時・分・秒を分解できます。
Dim h As Integer
Dim m As Integer
Dim s As Integer
h = Hour(Time)
m = Minute(Time)
s = Second(Time)
MsgBox h & ":" & m & ":" & s
条件分岐で使う
特定の時間帯の処理に使えます。
If Minute(Time) < 30 Then
MsgBox "前半です"
Else
MsgBox "後半です"
End If
実務での活用例
- ログの時間分析
- 時間帯による処理分岐
- 勤務時間の計算
- データの時間分解
時間処理系ではよく使われます。
注意点
① 日付でも使用可能
Minute(Now)
→ 日付+時刻から分を取得
② 無効な値はエラーになる
日付・時刻として認識できる必要があります。
安全な書き方(おすすめ)
Dim val As Variant
val = Range("A1").Value
If IsDate(val) Then
MsgBox Minute(val)
Else
MsgBox "時刻ではありません"
End If
よくあるエラーと対処法
① 型が一致しません
時刻として認識できない値の可能性があります。
② 期待した値にならない
セルの表示形式ではなく値を確認してください。
③ コードは正しいのにエラーになる
コピー時に全角文字や特殊文字が混ざることがあります。
その場合は該当行を手入力し直すと解決することがあります。
まとめ
- Minuteは「分」を取得する関数
- 時刻データの分解に使用
- Hour・Secondとセットで使う
- 時間処理で重要な関数
Minute関数を使いこなせるようになると、時刻データの扱いが格段に楽になります。
時間処理では頻出の関数なので、ぜひ覚えておきましょう。

コメント