VBA中如何循环执行Task_1至Task_3过程直到指定单元格为空
问题解答
你需要实现的循环执行逻辑有两种可行实现方案:
方案1:直接补全你现有代码的空缺位置
你原有代码的问号处直接填写Call Start_orderprint即可,完整代码如下:
Sub Start_orderprint() Call Task_1 Call Task_2 Call Task_3 If Sheet1.Range("A4").Value <> Empty Then Call Start_orderprint Else MsgBox "Finished" Exit Sub End If End Sub
注意:该写法为递归调用,若你的循环执行次数超过数百次,可能会触发栈溢出报错,更推荐使用循环结构实现。
方案2:更稳定的循环结构实现(推荐)
直接用Do While循环包裹三个任务逻辑,无需递归调用,代码更简洁稳定:
Sub Start_orderprint() ' A4单元格不为空时持续循环执行三个任务 Do While Sheet1.Range("A4").Value <> Empty Call Task_1 Call Task_2 Call Task_3 Loop MsgBox "Finished" End Sub
内容的提问来源于stack exchange,提问作者RobinStoevelaar
相关产品推荐
相关产品推荐

