【发布时间】:2022-03-12 20:06:35
【问题描述】:
我有一个复制范围和粘贴值的代码。
这是在我单击命令按钮后的一段时间内完成的。
如何通过单击按钮来停止或暂停此宏?
这里是主要代码:
Sub timestamp()
'
' timestamp Macro
'
N = WorksheetFunction.Count(Sheets("DNB").Columns(1))
dnbspread = Sheets("DNB").Range("G5:G30")
Sheets("DNB").Cells(N + 34, 1) = Date
Sheets("DNB").Cells(N + 34, 2) = Time
Sheets("DNB").Range("G5:G30").Copy
Sheets("DNB").Cells(N + 34, 3).PasteSpecial Transpose:=True, Paste:=xlPasteValues
Application.OnTime Now + TimeValue("00:00:05"), "timestamp"
End Sub
我尝试了几件事。
- 通过 BREAK 函数
Sub PauseMacro()
Application.SendKeys "^{BREAK}"
End Sub
2.
Public StopMacro as Boolean
Sub SetStopMacro()
StopMacro = True
End Sub
并将其放入代码中:
Sub timestamp()
'
' timestamp Macro
'
N = WorksheetFunction.Count(Sheets("DNB").Columns(1))
dnbspread = Sheets("DNB").Range("G5:G30")
Sheets("DNB").Cells(N + 34, 1) = Date
Sheets("DNB").Cells(N + 34, 2) = Time
Sheets("DNB").Range("G5:G30").Copy
Sheets("DNB").Cells(N + 34, 3).PasteSpecial Transpose:=True, Paste:=xlPasteValues
Application.OnTime Now + TimeValue("00:00:10"), "timestamp"
DoEvents
If StopMacro = True Then Exit Sub
End Sub
【问题讨论】:
-
If Not StopMacro Then Application.OnTime Now + TimeValue("00:00:15"), "timestamp" End If
-
感谢您的意见。不知道如何放入以及包含什么。我收到“如果没有阻止则结束”错误。
-
暂停和停止有区别吗?你要哪一个?
标签: vba