以下代码用于格式化在任务栏中打开的Excel文件。它非常好地完成了我的工作。我想在屏幕上突出显示一段时间,以便我可以查看结果。谁能给我一些想法?
Sub OpenAllWorkbooksnew()
Set destWB = ActiveWorkbook
Dim DestCell As Range
Dim cwb As Workbook
For Each cwb In Workbooks
**Call donemovementReport**
ActiveWorkbook.Close True
ActiveWorkbook.Close False
Next cwb
End Sub
答案 0 :(得分:0)
您可以使用断点:http://www.wiseowl.co.uk/blog/s196/breakpoints.htm
这不是最干净的方法,但如果这个电子表格只供您使用,那么这是一种非常简单有效的方法。
答案 1 :(得分:0)
您可以使用Stop
暂停代码。例如
Option Explicit
Sub Sample()
Debug.Print "1"
Stop
Debug.Print "2"
End Sub
答案 2 :(得分:0)
如果您可以控制每个工作簿,则可以在每个名为“已检查”的工作簿中创建命名范围,并按如下方式更改代码...
Sub OpenAllWorkbooksnew()
Set destWB = ActiveWorkbook
Dim DestCell As Range
Dim cwb As Workbook
For Each cwb In Workbooks
'ensure "Checked" flag is reset
cwb.Names("Checked").RefersToRange.Value = "Unchecked"
'bring workbook to focus
cwb.Activate
'wait until "Checked" flag is changed to "OK"
Do Until cwb.Names("Checked").RefersToRange.Value <> "Unchecked"
DoEvents
Loop
'check result and action accordingly
If UCase(cwb.Names("Checked").RefersToRange.Value) = "OK" Then
ActiveWorkbook.Close True
ElseIf UCase(cwb.Names("Checked").RefersToRange.Value) = "ERROR" Then
ActiveWorkbook.Close False
End If
Next cwb
End Sub
如果对循环的每个工作簿没有这样的控制级别,那么相同的方法可以工作,但使用功能区/命令栏(取决于您的Excel版本)。如果没有关于如何正确调用此代码的其他信息等,则很难具体。