我有一個宏,它可以從一系列數據中生成一個Chart
。請參見下面的數據:Excel圖表忽略特定日期的附加數據值
2015年8月1日12:49.002
2015年8月1日00:41.600
2015年8月2日00:27.198
2015/08/03 01:05.600
2015年8月3日01:30.599
2015年8月4日02:29.799
2015年8月5日01:40.199
2015年8月6日01:36.199
2015年8月7日02:16.998
2015年8月7日00:43.401
第一列表示日期,第二列表示該日期的時間範圍。
備註我在表格中找到的原始數據是已合併的單元格。請參閱下面的屏幕截圖瞭解更多信息
的問題是,該圖僅顯示分配給該日期數量較多。
查看下面的代碼。
Option Explicit
Public Declare Function GetTickCount Lib "kernel32.dll"() As Long
Sub CreateChart()
Dim DateRange, TimeRange As Range
Dim lastRow As Long
Dim StartRow As Long, columnIndex As Long
Dim DataWorkSheet As Worksheet
Dim DataFileFullPath As String, DataFileName As String, SheetName As String
Dim Index As Long, Index2 As Long
Dim t As Long
Dim tt As Long
Dim Chart1 As Chart
' 'Disable Screen Updating
' Application.ScreenUpdating = False
' Application.Calculation = xlCalculationManual
StartRow = 20
columnIndex = 3
'Put Full File Path for your demo/test file here
DataFileFullPath = "C:\Users\................."
Index = InStrRev(DataFileFullPath, "\")
DataFileName = Right(DataFileFullPath, Len(DataFileFullPath) - Index)
Index2 = InStrRev(DataFileName, ".")
SheetName = Left(DataFileName, Index2 - 1)
Set DataWorkSheet = Workbooks(DataFileName).Sheets(SheetName)
t = GetTickCount
With DataWorkSheet
With .UsedRange
'Getting the last Row
lastRow = .Rows(.Rows.Count).row - 1
End With
'The DataStartRow is set to the ORiginal Time from the T3000
Set DateRange = .Range(.Cells(StartRow, columnIndex + 1), .Cells(lastRow, columnIndex + 1))
Set TimeRange = .Range(.Cells(StartRow, columnIndex + 2), .Cells(lastRow, columnIndex + 2))
End With
Set Chart1 = Charts.Add
With Chart1
.ChartType = xlColumnClustered
.SeriesCollection.NewSeries
With .SeriesCollection(1)
.Values = TimeRange
.Name = SheetName & " " & "Synch Time"
.XValues = DateRange
End With
.Name = SheetName & " " & "Synch Time Chart"
.Axes(xlValue).MaximumScale = 0.0104166667 ' 15 mins/50/24
.Axes(xlValue).MajorUnit = 0.0006944444 ' 1 mins /60/24
.Move After:=Sheets(2)
End With
tt = GetTickCount - t
' 'Enable Screen Updating
' Application.ScreenUpdating = True
' Application.Calculation = xlCalculationAutomatic
End Sub
是否存在的Chart1
,我需要包括對不能省略特定日期的第二數據值的元素?
謝謝你。我忘記提及的是,原始數據集合並,因此2015/08/01年的第一個數據集實際上需要8個單元格。你回答的是8個單獨的條目。我沒有忘記提及問題中的合併。我現在將其添加 –
我發現的是,如果我隱藏了特定日期(例如2015/08/91)中除第一行以外的所有行,圖表將僅顯示未隱藏的行中的數據在工作表上。 –
如果彼此不相鄰,你會如何展示它們?如果你希望他們加起來,你需要一個數據透視表而不是一個普通的圖表。 – Rory