通过我的checkbox,For Each Next循环的顺序是什么

我有大约20个矩形布置的checkbox。 我如何知道我的代码通过For Each循环循环的顺序是什么?

我已经确认它不是CheckBox1,CheckBox2,CheckBox3等

对于工作表上布置的ActiveXcheckbox控件, <右键单击> ,Order命令将设置它们在For … Each循环中检索的顺序。 需要注意的是命令似乎是倒退的。

checkbox_order

  1. 带到前面将形状对象放置在For Each队列的尾部。
  2. 发送到后面将把形状对象带到For Each队列的前面。
  3. “前进”将会将形状对象移回队列中的一个位置。
  4. 向后发送会将形状对象向前推到队列中的一个位置。

这个VBA是在Shape.ZOrder方法中 。

 With Worksheets("Sheet1") .Shapes("CheckBox2").ZOrder msoBringForward '<~~ send back one place in the queue .Shapes("CheckBox2").ZOrder msoSendToBack '<~~ place at the beginning of the queue End With 

使用Shape.ZOrderPosition属性来确定当前位置。