如何在保存之前保留我的Excel屏幕

时间:2013-02-04 07:36:35

标签: excel vba

以下代码用于格式化在任务栏中打开的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

3 个答案:

答案 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版本)。如果没有关于如何正确调用此代码的其他信息等,则很难具体。