[英]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.