在Excel上实现一个VBA程序,一次过滤出有很多值的图形,可以通过以下步骤实现:
Sub FilterChartWithData()
Dim ws As Worksheet
Dim cht As ChartObject
Dim rng As Range
Dim i As Integer
' 设置工作表对象
Set ws = ThisWorkbook.Worksheets("Sheet1") ' 将"Sheet1"替换为你的工作表名称
' 设置图表对象
Set cht = ws.ChartObjects("Chart 1") ' 将"Chart 1"替换为你的图表名称
' 设置数据范围
Set rng = ws.Range("A1:B10") ' 将"A1:B10"替换为你的数据范围
' 清除所有过滤器
ws.AutoFilterMode = False
' 过滤出有很多值的图形
rng.AutoFilter Field:=1, Criteria1:="<>", Operator:=xlFilterValues
' 将过滤后的数据复制到新的工作表
ws.AutoFilter.Range.Copy Destination:=ThisWorkbook.Worksheets.Add.Range("A1")
' 将过滤后的数据绘制成图表
With cht
.Chart.SetSourceData Source:=ThisWorkbook.Worksheets(2).Range("A1:B10") ' 将2替换为新建工作表的索引
.Chart.ChartType = xlColumnClustered ' 设置图表类型为柱状图
End With
' 删除新建的工作表
Application.DisplayAlerts = False
ThisWorkbook.Worksheets(2).Delete
Application.DisplayAlerts = True
' 清除过滤器
ws.AutoFilterMode = False
End Sub
这个VBA程序通过使用Excel的自动过滤功能,根据指定的条件过滤出有很多值的图形,并将过滤后的数据复制到新的工作表,并绘制成柱状图。你可以根据实际需求修改代码中的工作表名称、图表名称和数据范围。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅为示例,具体产品和服务选择应根据实际需求进行评估和选择。
领取专属 10元无门槛券
手把手带您无忧上云