循环中"为每个细胞"的细胞顺序

lcr*_*rin -1 excel foreach vba excel-vba word-vba

我想知道是否有规则知道循环将完成?

有没有办法改变它?

假设我在多个工作簿上的多个工作表上有多个范围.

Kaz*_*wor 5

是的,总是有循环规则来运行.你可以做一些实验,但我会给你一些信息(据我记得).

工作簿:订单从第一次打开/创建到最后打开/创建.

工作表/表格:从左到右的顺序,因为您可以在应用程序中看到它们.

单元格(范围内):它从左到右排在第一行,然后移到下一排(我们用英文读写).

其他三个例子:

Excel工作表中的注释:基于注释所在的单元格的地址,按循环与单元格的顺序(参见上文).

Word文档中的注释:文档的开头,按出现顺序排列.

MS Word中的书签:按书签名称的字母顺序排列.


编辑于2013年8月8日

我刚刚在Word文档中找到了有关书签顺序的有趣内容.实际上有两个订单:

1.这个循环:

    Dim BM As Bookmark
    For Each BM In ActiveDocument.Content.Bookmarks
    Next
Run Code Online (Sandbox Code Playgroud)

将按照书签的出现顺序进行迭代 Document Content (Range)

2.这个循环:

    Dim BM As Bookmark
    For Each BM In ActiveDocument.Bookmarks
    Next
Run Code Online (Sandbox Code Playgroud)

将根据书签名称按字母顺序迭代.


使用For...Next循环时,您可以使用Step minus参数反转顺序.

进行实验很容易,我可以承认 - 通常知道循环迭代顺序很重要.