首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Exit for-语句一旦达到条件

问Exit for-语句一旦达到条件
EN

Stack Overflow用户
提问于 2018-02-07 20:53:44
回答 2查看 39关注 0票数 0

我正在尝试比较两个工作簿,以找出它们之间不同的行。我已经创建了下面的代码来做这件事,但是我希望有一些类似于continue的东西,一旦发现差异,我可以在if语句中使用它来退出最里面的for each-loop。有什么明显的方法可以做到这一点吗?我想我可以使用goto-statement,但我更愿意避免这种情况。

代码语言:javascript
复制
Sub test()
    Dim wb_new As Workbook, wb_old As Workbook
    Dim ws As Worksheet
    Dim r As Range, c_old As Range, c_new As Range
    Dim i As Long

    Set wb_new = Application.Workbooks("Book1.xlsx")
    Set wb_old = Application.Workbooks("Book2.xlsx")

    For Each ws In wb_old.Worksheets
        For i = 0 To 275
            Set r = ws.Range("A1:Q1").Offset(i, 0)
            For Each c_old In r
                Set c_new = wb_new.Worksheets(ws.Name).Range("A1").Offset(i, c_old.Column - 1)
                If c_new <> c_old Then
                    Debug.Print c_new.Address
                End If
            Next c_old
        Next i
    Next ws
End Sub
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-07 20:57:57

您似乎已经在标题中回答了自己的问题--只需使用Exit For。

这里有一个参考:https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/exit-statement

票数 1
EN

Stack Overflow用户

发布于 2018-02-07 20:56:56

是的,有一条Exit For语句。

代码语言:javascript
复制
            If c_new <> c_old Then
                Debug.Print c_new.Address
                Exit For    'exits the inner loop
            End If
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48664337

复制
相关文章

相似问题

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