创建动态Excel图表VBA
我想创建一个图表,看起来像这样创建动态Excel图表VBA
在我的x轴我想有我这样的日期,例如2016年1月1日 在我的Y轴应该有多少发生在该日期例如此事件AA号码4
到目前为止好我的数据怎么样子,我想创建我的图表上方:
FailureLogStart
2017-01-09 18:20
2017-01-14 14:23
2017-01-14 15:14
2017-01-15 11:05
2017-01-16 09:36
2017-01-16 10:02
2017-01-16 10:23
这是我可以用来创建我的图表的唯一列,因此Y轴的值应该是没有时间的日期,x轴是每个日期的发生次数,例如14 。
我迄今所做的:
Sub Test()
Range("Table_Query_from_WatchDog_DB_1[[#All],[FailureLogStart]]").Select
ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
ActiveChart.SetSourceData Source:=Range("'Controll & Data'!$C$18:$C$25")
ActiveSheet.Shapes("Chart 6").IncrementLeft 518.4782677165
ActiveSheet.Shapes("Chart 6").IncrementTop -308.4782677165
End Sub
我有现在的问题是,我想有日期,相反是在Y:Axix和事件都放在X:轴
(顺便说一句我怎么能只选择没有时间日期)
正如我们一开始的命令后的第一次,我会使用数据透视表指出/图显示此数据:
短日期被计数与式:=ROUNDDOWN([@FailureLogStart],0)
透视表配置:
行标签 - >短日期
值 - 短日期
的>计数来源 - >表1(放在这里你的名字)
编辑:一步一步透视表制备:
- 准备好输入 - >格式数据如表
-
标记您的表格 - >(色带)插入 - >数据透视表:
a。设置表格/范围字段 - >表格1(或您的表格名称)
b。在底部勾选“现有工作表”并放置一个单元格地址,以便放置数据透视表。
c。完成后,将在您的工作表中插入空白数据透视表。现在在右侧面板中将“短日期”拖放到“行标签”和“值”字段。
点击支点 - >(丝带)透视表选项 - >透视图
btw添加此代码的自动更新数据透视表的代码:Private Sub Worksheet_Activate() 表(“透视表”).PivotTables(“PivotTable1”)。RefreshTable End Sub –
图表连接到数据透视表,所以它只会响应枢轴过滤器。如果您需要在数据透视表中查看摘要背后的记录,只需双击数字,例如'2017-01-16 \t 3',单击'3',您将得到一张包含源数据的新表。 – Wujaszkun
非常感谢您的努力和时间,帮助我! –
你有没有考虑使用枢轴和枢轴表? – Wujaszkun
@Wujaszkun一点都没有,你认为这会让我的生活更轻松吗? –
我会这样做的方式是设置一个表来源数据将被存储,然后连接一个数据透视表到(所以源范围将动态改变基于表中的记录数),并最终添加一个数据透视图。在VBA中进行设置和维护要容易得多。 – Wujaszkun