首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用前一个循环结束的Begin循环(Excel For循环)

用前一个循环结束的Begin循环(Excel For循环)
EN

Stack Overflow用户
提问于 2022-04-22 08:16:01
回答 1查看 35关注 0票数 -1

我有以下代码

代码语言:javascript
运行
复制
Sub Example()

    Dim l1 As Integer

    Dim l2 As Integer

    Dim l3 As Integer

    For l3 = 1 To 2

        For l1 = 1 To 2

            For l2 = 8 To 9

                MsgBox l1 & "-" & l2

            Next l2

        Next l1

    Next l3

End sub

产出:1-8,1-9,2-8,2-9,1-8,1-8,1-9,2-8,2-9.

需求输出: 1-8,1-9,2-8,2-9,1-8,1-9,2-8,2-9,10-18,10-19,11-18,11-19,10-18,10-19,11-18,11-19.

在l3第二循环中,以前一循环的1作为最大增量。

结束子对象

EN

回答 1

Stack Overflow用户

发布于 2022-04-22 12:44:05

只需重复您的循环更改值:

代码语言:javascript
运行
复制
Sub Example()

Dim l1 As Integer

Dim l2 As Integer

Dim l3 As Integer

For l3 = 1 To 2

    For l1 = 1 To 2

        For l2 = 8 To 9

            Debug.Print l1 & "-" & l2

        Next l2

    Next l1

Next l3

For l3 = 10 To 11

    For l1 = 10 To 11

        For l2 = 18 To 19

            Debug.Print l1 & "-" & l2

        Next l2

    Next l1

Next l3

End Sub

输出:

代码语言:javascript
运行
复制
1-8
1-9
2-8
2-9
1-8
1-9
2-8
2-9
10-18
10-19
11-18
11-19
10-18
10-19
11-18
11-19

这段代码更容易理解,但您可以使用一个整数循环缩短它,并从IIf中获益:

代码语言:javascript
运行
复制
Sub Example()

Dim l1 As Integer
Dim l2 As Integer
Dim l3 As Integer
Dim l4 As Integer

For l4 = 0 To 9 Step 9
    For l3 = 1 To 2
        For l1 = 1 To 2
            For l2 = 8 To 9
                Debug.Print l1 + l4 & "-" & l2 + IIf(l4 = 0, 0, 1 + l4)
            Next l2
        Next l1
    Next l3
Next l4


End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71965520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档