【ExcelVBA・マクロ】Minute関数の使い方|時刻から「分」を取得する方法【コピペOK】

Minute関数の使い方 ExcelVBA

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関数を使いこなせるようになると、時刻データの扱いが格段に楽になります。
時間処理では頻出の関数なので、ぜひ覚えておきましょう。

スポンサーリンク
スポンサーリンク
ExcelVBA
いがぴをフォローする

コメント

タイトルとURLをコピーしました