我是 VBA 的新手。目前我正在进行我的项目,这需要我通过基于 2 个表格数据自动绘制 2 个条形图来创建一个自动化工具,如下所示
然而,由于表格数据是从另一个自动化工具生成的,因此行数可以增加或减少。并且行数可能多于/少于5,我无法通过指定单元格的地址来选择单元格,例如“A7”或“B6”。
这些是图表的预期输出:
希望有好心人能帮我解决这个问题..
我认为您不需要宏。您只需要一些动态命名范围: Microsoft Support
并将您的数据范围设置为那些命名范围。
如果给定工作表中的不同数据块由空白行和列分隔,并且您想要的块是唯一包含单词“Date”的块,则可以使用简单的 VBA 例程查找单词“Date”,确定数据块位于其中,并使用该数据插入图表。如下所示:
Sub PlotRangeUsingFind()
Const SFind As String = "Date"
Dim rng As Range
On Error Resume Next
Set rng = ActiveSheet.Cells.Find(SFind).CurrentRegion
If Not rng Is Nothing Then
With ActiveSheet.Shapes.AddChart.Chart
.ChartType = xlColumnClustered
.SetSourceData rng
End With
End If
End Sub
您可以修改它以查找数据块中的任何唯一单词。它不必是整个单元格的内容;例如,您可以根据您的屏幕截图使用“已接受”。