VBA 用于具有 N/A 或动态范围的动态图表数据
VBA for Dynamic Chart Data with N/A or Dynamic Range
我可以为所需的列定义列和数据,然后为动态范围定义列和数据
但我如何将其转换为“图表数据”选项卡下 excel 文件中的复杂图表
谁能指点一下
Sub create_graph()
Dim ws As Excel.Worksheet
Dim x As Range
Dim y As Range
Set ws = ActiveWorkbook.Worksheets("Chart Data")
Set x = ws.Range("B8:B" & ws.Cells(ws.Rows.Count, "B").End(xlUp).Row)
Set y = ws.Range("C8:B" & ws.Cells(ws.Rows.Count, "C").End(xlUp).Row)
ws.Shapes.AddChart.Select
With ActiveChart
.ChartType = xlLine
.SeriesCollection.NewSeries
.SeriesCollection(1).Values = x
End With
End Sub
现在这里有2个问题
- 我可以创建一个可以忽略空白的图表吗 N/A 这样我的数据就可以
在图表中表现更好
- 你能帮我用额外的代码来创建图像图表吗
图表图片
[1]: https://i.stack.imgur.com/4ElYu.jpg
图表没有那么复杂。但是您的数据布局不佳。 Y值列中的#N/A不会绘制点,但日期列中的所有空白都会让你感到困惑。
删除第 33 行下方的所有行。它们会破坏图表。
现在 select 范围 A7:R33,然后在功能区的“插入”选项卡上,选择 Table。这会将范围转换为 Table,这是一种具有高级属性的数据结构。
确保图表使用 Table 的列作为其数据。
当您将新数据添加到 Table 下方的行时,Table 会注意到并扩展以包含添加的行。引用整行 Table 的公式也将扩展以包含新行。这意味着图表将展开以包含新数据。
这是我很久以前写的关于 Tables 神奇的动态特性的教程:Easy Dynamic Charts Using Lists or Tables。
我可以为所需的列定义列和数据,然后为动态范围定义列和数据
但我如何将其转换为“图表数据”选项卡下 excel 文件中的复杂图表
谁能指点一下
Sub create_graph()
Dim ws As Excel.Worksheet
Dim x As Range
Dim y As Range
Set ws = ActiveWorkbook.Worksheets("Chart Data")
Set x = ws.Range("B8:B" & ws.Cells(ws.Rows.Count, "B").End(xlUp).Row)
Set y = ws.Range("C8:B" & ws.Cells(ws.Rows.Count, "C").End(xlUp).Row)
ws.Shapes.AddChart.Select
With ActiveChart
.ChartType = xlLine
.SeriesCollection.NewSeries
.SeriesCollection(1).Values = x
End With
End Sub
现在这里有2个问题
- 我可以创建一个可以忽略空白的图表吗 N/A 这样我的数据就可以 在图表中表现更好
- 你能帮我用额外的代码来创建图像图表吗
图表图片 [1]: https://i.stack.imgur.com/4ElYu.jpg
图表没有那么复杂。但是您的数据布局不佳。 Y值列中的#N/A不会绘制点,但日期列中的所有空白都会让你感到困惑。
删除第 33 行下方的所有行。它们会破坏图表。
现在 select 范围 A7:R33,然后在功能区的“插入”选项卡上,选择 Table。这会将范围转换为 Table,这是一种具有高级属性的数据结构。
确保图表使用 Table 的列作为其数据。
当您将新数据添加到 Table 下方的行时,Table 会注意到并扩展以包含添加的行。引用整行 Table 的公式也将扩展以包含新行。这意味着图表将展开以包含新数据。
这是我很久以前写的关于 Tables 神奇的动态特性的教程:Easy Dynamic Charts Using Lists or Tables。