VBA:使用循环调用宏,但只运行一次循环

时间:2018-11-02 09:27:10

标签: excel vba loops iteration spreadsheet

如何调用包含一个循环但仅运行该循环的一次迭代的宏?

我正在调用的宏位于另一个不属于我的电子表格中,所以我不想编辑它们的代码。

编辑类似以下内容:

Sub X()
    Call MacroX
End Sub

Sub MacroX()
    For i = 1 to 100
        ... code...
    Next i
End Sub

但是我只希望我等于1,并且不循环其他99次迭代。

1 个答案:

答案 0 :(得分:0)

您正在寻找类似的东西吗?

Option Explicit

Public FromMacro As Boolean 

Sub X()

    FromMacro = True

    Call MacroX

End Sub

Sub MacroX()

    Dim Iteration As Long
    Dim i As Long

    If FromMacro = True Then
        Iteration = 1
    Else
        Iteration = 100
    End If

    For i = 1 To Iteration
        MsgBox Iteration
    Next i

    FromMacro = False

End Sub