返回列表 上一主題 發帖

[發問]時間格式的轉換(已解決)

[發問]時間格式的轉換(已解決)

本帖最後由 jiuhtsair 於 2011-8-23 17:53 編輯

我從券商的DDE中傳資料到EXCEL,但券商的時間格式是 1秒=1/86400 大約是0.00001157407。
它是由凌晨00:00:01=0.00001157407起算,上午9:03:01=(9*3600+3*60+1)/86400=0.3777095
想請教如何在VBA中把0.3777095這數字轉成上午9:03:01?謝謝!
50 字節以內
不支持自定義 Discuz! 代碼

回復 1# jiuhtsair
  1. Sub Ex()
  2.     Dim d As Date, t As Double
  3.     '1小時=1 / 24
  4.     '1分 = 1 / 24 / 60
  5.     '1秒=1 / 24 / 60 / 60
  6.     t = (1 / 24) * 9 + (1 / 24 / 60) * 3 + (1 / 24 / 60 / 60) * 1
  7.     d = t
  8.     MsgBox t & Chr(10) & d
  9. End Sub
複製代碼

TOP

k = CDate(0.3777095)
MsgBox k
k = CDbl(k)
MsgBox k
學海無涯_不恥下問

TOP

謝謝兩位大大解答,測試之後確實在mesage Box中得到時間顯示。
想請問大大,要如何才能將上午9:03:01放在儲存格中?(例如:A1內容為0.3777095,B1內容為9:03:01)
謝謝。
50 字節以內
不支持自定義 Discuz! 代碼

TOP

本帖最後由 Hsieh 於 2011-4-26 22:34 編輯

A1格式設為通用格式
B1設為時間
  1. Sub nn()
  2. [A1].NumberFormatLocal = "G/通用格式"
  3. [B1].NumberFormatLocal = "hh:mm:ss"
  4. [A1:B1] = 0.3777095
  5. End Sub
複製代碼
學海無涯_不恥下問

TOP

ㄏㄏ...謝謝!了解了。原來在EXCEL儲存格格式中直接選取-->時間-->類型,就可以將0.3777095轉成9:03:01。謝謝!
50 字節以內
不支持自定義 Discuz! 代碼

TOP

        靜思自在 : 時時好心就是時時好日。
返回列表 上一主題