Home » Excel VBA Rangeオブジェクト » 表示形式 » セルに入力されている時間をメッセージボックスに表示する

セルに入力されている時間をメッセージボックスに表示する

対象:Excel 2010, Excel 2013, Windows版Excel 2016

「vba メッセージボックス セルに入力されている時間を表示」
という検索で『インストラクターのネタ帳』へアクセスがありました。

アクティブセルの値をメッセージボックスに表示するサンプルマクロ

以下のようなSubプロシージャを実行して、期待どおりの結果にならないということかもしれません。
Sub アクティブセルの値を表示する()
 Dim tmp
 tmp = ActiveCell.Value
 MsgBox tmp
End Sub
[スポンサードリンク]

例えば、「9:15:00」という時間データの入力されているセルがアクティブな状態で、上記のSubプロシージャを実行すると、下図のような結果となります。

セルに入力されている時間をメッセージボックスに表示する

「9:15:00」という時間データが、「0.385416666666667」と表示されています。

「vba メッセージボックス セルに入力されている時間を表示」
と検索なさった方は、セルに表示されている「9:15」と表示させる方法を探していらしたのでしょう。

アクティブセルに表示されているデータをメッセージボックスに表示するサンプルマクロ

以下のようなSubプロシージャにすれば、セルに表示されている形式でメッセージボックスが表示されます。
Sub アクティブセルの値を表示する2()
 Dim tmp2
 tmp2 = ActiveCell.Text
 MsgBox tmp2
End Sub

Range.Valueプロパティでは純粋な値が取得でき、Range.Textプロパティなら、セルに表示されている形式でデータを取得できます。

アクティブセルのデータをローカルウィンドウで確認するサンプルマクロ

「vba メッセージボックス セルに入力されている時間を表示」
という検索への回答は、上記のとおり「Range.Textプロパティを使いましょう」ですが、Range.ValueプロパティとRange.Textプロパティで取得できるデータを、ローカルウィンドウで確認しておきましょう。
Sub アクティブセルのデータを確認する()
 Dim tmp, tmp2
 tmp = ActiveCell.Value
 tmp2 = ActiveCell.Text
 Stop
End Sub

上記のSubプロシージャを実行すると、Stopステートメントでステップ実行になります。

メニュー[表示]-[ローカルウィンドウ]からローカルウィンドウを表示すると、下図のとおり、Range.ValueとRange.Textで取得したデータを確認できます。

セルに入力されている時間をメッセージボックスに表示する

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » 表示形式 » セルに入力されている時間をメッセージボックスに表示する

「表示形式」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.