Excel 如何调用包含循环但只运行该循环一次迭代的宏?
我调用的宏位于另一个不属于我的电子表格中,因此我不希望编辑它们的代码 大致如下:Excel 如何调用包含循环但只运行该循环一次迭代的宏?,excel,vba,loops,iteration,Excel,Vba,Loops,Iteration,我调用的宏位于另一个不属于我的电子表格中,因此我不希望编辑它们的代码 大致如下: Sub X() Call MacroX End Sub Sub MacroX() For i = 1 to 100 ... code... Next i End Sub 但是我只希望I等于1,而不是在其他99次迭代中循环。你在寻找类似的东西吗 Option Explicit Public FromMacro As Boolean Sub X() FromM
Sub X()
Call MacroX
End Sub
Sub MacroX()
For i = 1 to 100
... code...
Next i
End Sub
但是我只希望
I
等于1
,而不是在其他99次迭代中循环。你在寻找类似的东西吗
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
欢迎来到SO。请看,别忘了阅读和阅读。另外,请查看“添加两个宏代码”中的,以及更多的好信息,除非此宏特别包含可以触发/调用的转义子句,否则在不修改代码的情况下,您将无法执行此操作。如果您根本无法更改代码,则无需执行任何操作。与“拥有”代码的人员交谈,并要求其为
to
部分获取一个参数,以便人们可以告诉to 1
或to 100
或他们需要的任何信息。或者将宏复制并粘贴到您自己的工作表中,并在其中进行所需的更改,以便不更改原始宏。我认为需要使用布尔值,但我无法在MacroX中添加“FromMacro”代码位,因为它不属于我。