【发布时间】:2019-08-17 21:23:11
【问题描述】:
我觉得应该有一种方法可以通过 for next 循环来增加它。我想根据 C36 中的单元格值使形状可见。有没有办法为每次迭代增加形状名称以及值?我想使用 100 个这样的椭圆形,所以我希望这样的东西会起作用。或者,当然还有其他想法。
大量的代码:
Me.Shapes("OVAL 1").Visible = Range("C36").Value > 0
Me.Shapes("OVAL 2").Visible = Range("C36").Value > 1
Me.Shapes("OVAL 3").Visible = Range("C36").Value > 3
等等……
希望是这样的:
Private Sub Worksheet_Calculate()
Dim i as Integer, x as Integer
For i = 1 to 100
For x - 0 to 99
Me.Shapes("OVAL " & i).Visible = Range("C36").Value > x
Next x
Next i
End Sub`
【问题讨论】:
-
注意:您必须在这一行中遇到编译时错误 -
For x - 0 to 99。将-替换为= -
我不明白你为什么要嵌套 2 个循环。对于每个 i,
Visible属性的唯一有意义的分配是 x = 99 处的最后一个,所以本质上,您的测试始终是Range("C36").Value > 99。 -
x - 0 - 99 是一种类型。感谢您指出了这一点。我不确定如何增加对象和值。谢谢大家!