Excel图表忽略特定date的其他数据值

我有一个macros从一个数据范围生成Chart 。 看到下面的数据:

2015/08/01 12:49.002

2015/08/01 00:41.600

2015/08/02 00:27.198

2015/08/03 01:05.600

2015/08/03 01:30.599

2015/08/04 02:29.799

2015/08/05 01:40.199

2015/08/06 01:36.199

2015/08/07 02:16.998

2015/08/07 00:43.401

第一列表示date,第二列表示该date的时间范围。

注意我在表格中find的原始数据是已经合并的单元格。 请参阅以下屏幕截图了解更多信息。

在这里输入图像说明

问题是图表只显示分配给该date的较大号码。

看下面的代码。

 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的元素是否需要包含在特定date的第二个数据值中?

如果你想在X轴上重复这一天,你需要添加:

 .Axes(xlCategory).CategoryType = xlCategoryScale 

使用@Rory的答案,我看到所有的行都显示出来了。

在做了一些search之后,我看到在Chart ,默认情况下,只有显示的单元格(即不隐藏)中的数据将在Chart可见。

然后,我将一个Range(Rows(x), Rows(y)).Hidden = True合并到一个特定时间段的合并单元格中。

下面的图片代表最终产品。

在这里输入图像说明

您可以在图表中看到2015/08/01的双重input

.Axes(xlCategory).CategoryType = xlCategoryScale在右击轴时,基本上将“Hosrobontal Axis Type”设置为“Excelpopup菜单”中提到的“Text axis”

对于在他的回答中提到的使用不同types的图表的任何其他build议,欢迎。

这个问题暂时还没有答案。