存储过程将运行15分钟,并冻结Excel文件。 我们如何通过VBA在后台运行存储过程,让它在后台运行并继续在同一张纸上工作。
答案 0 :(得分:1)
您不能运行宏并继续在同一工作表中工作。
但是您可以使用下面的代码来加快宏的执行速度:
sub my_macro()
Application.ScreenUpdating = False
#Your code
Application.ScreenUpdating = True
end sub
答案 1 :(得分:0)
基本上,Excel和VBA不是并行处理技术。您将需要等待宏完成才能继续工作。您可能会将此工作作为一项通宵工作来进行,因此当您早上到办公室时,一切都会为您完成。或者,您可以开始该过程,然后去吃午餐,咖啡等。
搜索“ Windows Task Scheduler”,然后按照提示进行操作。
最后,在Excel中,按Alt + F11打开VBA编辑器。右键单击“ ThisWorkbook”,单击“插入”,再单击“模块”。 双击“模块1”。复制以下代码:
Sub Auto_Open()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim con As Connection
Dim rst As Recordset
Set con = New Connection
con.Open "Provider=SQLOLEDB;Data Source=Your_Server_Name_Here;Initial Catalog=Northwind;Integrated Security=SSPI;"
Set rst = con.Execute("Exec dbo.[Ten Most Expensive Products]")
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub