Vba で時間をフォーマットする方法 (例付き)


VBA で次の引数を指定してFormat関数を使用すると、Excel で時刻を特定の方法で書式設定できます。

  • h : ゼロを含まない時間
  • hh : ゼロを含む時間
  • n : ゼロを含まない分
  • nn : ゼロを含む分
  • s : ゼロを含まない秒数
  • ss : ゼロを含む秒
  • AM/PM : 午前/午後表示

次の例は、実際に VBA を使用して時間をフォーマットする方法を示しています。

例: VBA を使用して時刻をフォーマットする

Excel に次の日付/時刻列があるとします。

次のマクロを作成して、列 A の時刻を具体的に書式設定し、書式設定された時刻を列 B ~ E に表示できます。

 SubFormatTime ()

Dim i As Integer

For i = 2 To 8
  Range(" B " & i) = Format(Range(" A " & i), " h ")
  Range(" C " & i) = Format(Range(" A " & i), " h:nn ")
  Range(" D " & i) = Format(Range(" A " & i), " h:nn:ss ")
  Range(" E " & i) = Format(Range(" A " & i), " h:nn:ss AM/PM ")
Next i

End Sub

このマクロを実行すると、次の出力が表示されます。

列 B ~ E は、特定の方法で書式設定された列 A に毎回表示されるようになりました。

短時間中時間、および長時間のショートカット形式も使用できることに注意してください。

 SubFormatTime ()

Dim i As Integer

For i = 2 To 8
  Range(" B " & i) = Format(Range(" A " & i), " Short Time ")
  Range(" C " & i) = Format(Range(" A " & i), " Medium Time ")
  Range(" D " & i) = Format(Range(" A " & i), " Long Time ")
Next i

End Sub

このマクロを実行すると、次の出力が表示されます。

列 B ~ D は、特定の方法で書式設定された列 A に毎回表示されるようになりました。

追加リソース

次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。

VBA: mm/dd/yyyy を日付形式として使用する方法
VBA: セルをパーセンテージとして書式設定する方法
VBA: 条件付き書式をセルに適用する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です