表格内有A1和B1,其中A1单元格是固定值,B1单元格包含公式可无限刷新,运行宏无限刷新B1,当A1=B1时则停止运行宏,怎样实现这个功能!
3条回答 默认 最新
檀越@新空间 2024-05-27 09:05关注上午好☀️☀️☀️️
本答案参考ChatGPT-3.5解决方案:
-
定义一个循环,其中用Do循环B1单元格的值,直到A1和B1的值相等时跳出循环。
-
在循环中增加判断条件,如果A1=B1,则使用Exit Sub来退出整个代码。
-
在代码中使用Application.Wait方法能够在每次循环的时间间隔内停顿,避免CPU过度占用。
代码如下:
Sub StopWhenEqual() Do While Range("A1").Value <> Range("B1").Value If Range("A1").Value = Range("B1").Value Then Exit Sub Else Range("B1").Calculate End If Application.Wait (Now + TimeValue("0:00:01")) Loop End Sub注意:
-
如果B1单元格的公式中间需要使用Application.Volatile方法进行刷新,则需要在循环中添加Application.Volatile(True)方法。
-
如果循环中时间间隔设置太短,会导致CPU过度占用,电脑变慢,建议时间间隔2秒左右。
解决 无用评论 打赏 举报 编辑记录-