VBA Excel:将高度和宽度大小应用于多个graphics

我有一个Excel电子表格,在一张纸上有多个graphics,这些graphics是根据用户select隐藏或显示的。 我想要做的是通过编程调整工作表变化时的高度和宽度来防止用户错误的graphics。 我在工作表变更的代码,以便隐藏/显示的graphics,并希望在这里插入高度和宽度的代码,但我的问题是,我已经find代码来调整一个graphics的高度和宽度:

With ChartObjects("Test") .height = 300 .width = 500 End With 

但是将它应用到许多图中会很难看,我发现要调整所有图的代码:

  Dim cht As ChartObject For Each cht In ActiveSheet.ChartObjects cht.Height = Application.InchesToPoints(2) cht.Width = Application.InchesToPoints(4) Next 

这意味着所有图表都有相同的大小,而我有两种不同大小的图表(小和大),可以通过图表名称来区分,因为小图表在图表名称中包括“小”,大图表具有“大“的图表名称。

那么是否有可能运行代码来根据图表名称中是否包含“small”或“large”这个词来改变图表的大小?

请注意,我正在使用Excel 2010。

为什么不使用instrif语句在循环中testing名称。 只需更新正确的大小

 Dim cht As ChartObject For Each cht In ActiveSheet.ChartObjects With cht If InStr(1, .Name, "small", vbTextCompare) > 0 Then .Height = Application.InchesToPoints(2) .Width = Application.InchesToPoints(4) ElseIf InStr(1, .Name, "large", vbTextCompare) > 0 Then .Height = Application.InchesToPoints(4) .Width = Application.InchesToPoints(8) End If End With Next cht