Excel 选择图表而不参考图表编号
我想在excel中使用VBA在不知道图表编号的情况下选择一个随机图表,因为生成的图表的编号总是变化的。有人能帮忙吗?是否可以在不参考图表编号的情况下选择图表?我想更改活动图表的图表名称Excel 选择图表而不参考图表编号,excel,vba,charts,Excel,Vba,Charts,我想在excel中使用VBA在不知道图表编号的情况下选择一个随机图表,因为生成的图表的编号总是变化的。有人能帮忙吗?是否可以在不参考图表编号的情况下选择图表?我想更改活动图表的图表名称 1 ActiveSheet.ChartObjects("Chart 409").Activate 2 ActiveSheet.Shapes("Chart 409").Name = "Chart 1" 3 ActiveSheet.ChartObjects("Chart 1").Activate 要选择
1 ActiveSheet.ChartObjects("Chart 409").Activate
2 ActiveSheet.Shapes("Chart 409").Name = "Chart 1"
3 ActiveSheet.ChartObjects("Chart 1").Activate
要选择所有图表或随机图表,可以使用图表索引
Sub getcharts()
Dim ws As Worksheet
Dim ch As ChartObject
Set ws = ActiveSheet
cnt = ws.ChartObjects.Count
random_num = Application.WorksheetFunction.RandBetween(1, cnt)
ws.ChartObjects(random_num).Name = "NAM" 'The Random chart
For Each ch In ws.ChartObjects
ch.Name = "Put the name of Chart here "
'Or Do anything with you all the charts here
Next
End Sub
您需要按索引调用图表,而不是按名称调用图表:
ActiveSheet.ChartObjects(1)。激活ActiveSheet
中的第一个。将1更改为随机数将为您提供随机引用。如果您想要活动图表,请使用Selection.Name=“…”
感谢KazJaw和LS_dev。之所以需要此功能,是因为我的图表总是更新,其名称会更改,因此我无法获得固定的引用名称。然而,ActiveSheet.ChartObjects(1)激活work很好,它会随机选择。非常感谢!卡兹贾夫:写一个答案。。。