Excelでミリ秒を表示する


122

Excelマクロでミリ秒を表示しようとしています。ミリ秒単位のタイムスタンプである整数の列があり(28095200は7:48:15.200 amなど)、その横に新しい列を作成して、移動平均を維持し、hh:mm:ss.000形式で時間を表示します。

 Dim Cel As Range
 Set Cel = Range("B1")
 temp = Application.Average(Range("A1:A2")) / 1000
 ms = Round(temp - Int(temp), 2) * 1000
 Cel.Value = Strings.Format((temp / 60 / 60 / 24), "hh:mm:ss") _
                & "." & Strings.Format(ms, "#000")

これは、セルに「mm:ss.0」のみを表示します。しかし、セルをクリックすると、数式バーに「hh:mm:ss」と表示されます。なぜ時間がないのですか?時間、分、秒、ミリ秒を表示するにはどうすればよいですか?

回答:


217

[セル]を右クリックしてB1、[セルのフォーマット ] を選択します。[ カスタム]で、[ タイプ ] というラベルの付いたテキストボックスに次のように入力します。

[h]:mm:ss.000 

これをコードで設定するには、次のようにします。

Range("A1").NumberFormat = "[h]:mm:ss.000"

それはあなたが探しているものを与えるはずです。

注:特別にフォーマットされたフィールドでは、多くの場合、フォーマットされたテキストのコンテンツ全体に対して列幅を十分に広くする必要があります。それ以外の場合、テキストはと表示され######ます。


わーい!しかし、コードでそれを行う方法はありますか?これで、マクロを実行するたびに、フォーマットがリセットされます。(マクロでシートを削除して再作成しているためです。)Cel.EntireRow.NumberFormat = "[h]:mm:ss.000"しかし、セルに "######"が表示されました。
Evelyn

@Evelyn-3つのこと:1)数値形式を設定するために必要なコードを追加しました。2)列がフォーマットされたテキスト全体に収まるのに十分な幅であることを確認してください。上記の私のメモを参照してください。3)ギルバートの答えを見3て、Round関数の中での使用に注意してください。これは、あなたが代わりにちょうど2の3小数点以下の桁数を取得します
ベンマコーマック

ああ!あなたが正しいです。列を広げるだけで十分です。また、この場合は2の精度のみが必要でした。3用にフォーマットしたかっただけです。助けてくれてありがとう!
Evelyn

25
私は次のことを発見し、他の人にも同じ問題が発生する場合に備えて共有したいと思いました。Windows/ Excelがドイツ向けに構成されている場合、数字の小数点以下と同様に、.をに置き換える必要があり,ます。それ以外の場合、Excelは有効な形式ではないことを報告します。だから、それはそうでなければなりません[h]:mm:ss,000
ゲホ2013年

6

Excel 2007で発見しましたが、結果が埋め込みクエリのテーブルである場合、ss.000は機能しません。(SQL Server Management Studioからの)クエリ結果を貼り付けて、時刻を適切にフォーマットできます。しかし、クエリをデータ接続としてExcelに埋め込むと、形式は常にミリ秒として.000になります。


4

これはExcel 2000で行いました。

このステートメントは次のようになります。 ms = Round(temp - Int(temp), 3) * 1000

の結果セルのカスタム形式を作成する必要があります [h]:mm:ss.000


-3

最初にミリ秒時間のエポックを日付(通常1/1/1970)で表し、次にミリ秒時間を1日のミリ秒数(86400000)で割ったものを追加します。

=DATE(1970,1,1)+(A1/86400000)

セルが適切にフォーマットされている場合は、人間が読み取れる日付/時刻が表示されます。


こんにちはジョージ、ようこそ!残念ながら、OPはセルが「適切にフォーマットされている」ことを達成する方法を具体的に要求するように見えました。彼らの元のアプローチは、あなたが取り組んでいる部分、つまりミリ秒のタイムスタンプからフォーマット可能な日時値への変換をすでにカバーしています。さらに、6年というのは、時間をかけて投資するのはかなり古い問題です。あなたの意見は、新しい質問でより高く評価されます!
Carsten 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.