簡體   English   中英

日期和時間圖

[英]Date and Time plot

我正在使用 Excel VBA 導入文本文件並分析數據。

我想要帶有日期和時間格式的 x 軸。

原始文件包含以下時間字符串。

“20200324160900340”,即“YYYYMMddhhmmss.milliseconds”。

我有一個函數來刪除毫秒並將這個字符串轉換為另一個格式為“2020/03/24 16:09:00”的字符串。

最后,我可以使用以下方法繪制帶有 Y 值的數據:

Set sh = ActiveWorkbook.Worksheets(1)
Set CH1 = sh.ChartObjects(1).Chart

[...]

With CH1

    With .SeriesCollection.NewSeries
        .Values = Elapsed 'Double Values
        .XValues = Time 'String Values format "YYYY-MM-dd hh:mm:ss"
        .Name = File_name
    End With

    .HasTitle = True

    With .Axes(xlCategory, xlPrimary)
        .CategoryType = xlTimeScale
    End With

End With

圖表繪制正確,但我看不到時間值,如果我手動強制它們,我會看到類似“01-01-1900”的東西,這是無稽之談。

您不能在圖表上繪制 STRINGS。 將時間字符串轉換為數字(日期/時間值),然后您將能夠正確繪制它們。

下面是一個 VBA 函數,它將您的文本字符串轉換為 Excel 日期/時間值...

Function TextToDateTime(s)
    Dim yy, mm, dd, hh, mn, ss

    yy = Mid(s, 1, 4)
    mm = Mid(s, 5, 2)
    dd = Mid(s, 7, 2)
    hh = Mid(s, 9, 2)
    mn = Mid(s, 11, 2)
    ss = Mid(s, 13, 2)

    TextToDateTime = DateSerial(yy, mm, dd) + TimeSerial(hh, mn, ss)

End Function

請注意,這些值將類似於: 43914.6729166667

這正是你想要的。 如果您希望以更友好的方式查看日期時間值,請使用數字格式來生成類似2020-03-24 16:09:00

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM