使用vbs运行宏后,Excel无响应

时间:2017-08-28 10:43:43

标签: excel vba excel-vba vbscript excel-formula

从VBS,我正在运行一个宏" Inc"在一个已经打开的excel工作簿中。宏正在执行(这是在重新打开工作簿后看到更新的单元格值后确认的),但是excel在我运行代码后很快就会出现。你能告诉我在代码中需要改变什么吗?

宏代码:

Sub Inc()

    Dim bs As Worksheet

    Set bs = Workbooks("Main.xlsm").Sheets("TimeStampWork")
    bs.Range("K11").Value = bs.Range("K11").Value + 1
    bs.Range("L11").Value = Now
    bs.Range("L11").NumberFormat = "dd-mm-yyyy, hh:mm:ss"

End Sub 

VBS代码:

Option Explicit
Dim xlApp, xlBook

Set xlBook = GetObject("E:\Main.xlsm")
Set xlApp = xlBook.Application
xlApp.Visible = True
xlApp.Run "Inc"
xlBook.Save

Set xlBook = Nothing
Set xlApp = Nothing

更新: 而不是宏观" Inc"我试着用一个简单的消息框运行一个宏,它没有任何问题。我无法看到excel的任何问题。

1 个答案:

答案 0 :(得分:0)

此问题现已解决。使用screenupdate选项更改了我的宏,解决了问题

Sub Inc()
Application.ScreenUpdating = False
Dim bs As Worksheet

Set bs = Workbooks("Main.xlsm").Sheets("TimeStampWork")
    bs.Range("K11").Value = bs.Range("K11").Value + 1
          bs.Range("L11").Value = Now
               bs.Range("L11").NumberFormat = "dd-mm-yyyy, hh:mm:ss"

Application.ScreenUpdating = True
End Sub