1.xls已開啟 Application.EnableEvents = True 作用中
開了2.xls 後, 1.xls發生事件Private Sub Worksheet_Calculate()都無法作用??
sub test()
Application.EnableEvents = False '已測試有無此行沒差
For Each wb In Workbooks
If wb.Name = "2.xls" Then GoTo 58
Next
Workbooks.Open Filename:="k:\xls3\2.xls"
58:
If Windows("2xls").Visible = False Then
Windows("2.xls").Visible = True
ElseIf Windows("2.xls").Visible = True Then
Windows("2.xls").Visible = False
End If
Application.EnableEvents = True 'event已無法作用
End Sub
要在1.xls執行
sub tes2()
Application.EnableEvents = True
end sub
才會重起作用作者: singo1232001 時間: 2022-11-20 16:44
就是用set 的方式開啟工作簿 避免關閉關不乾淨
Set ob = CreateObject("Excel.Application")
ob.Visible = False
Set os = ob.Workbooks.Open(路徑)
Set osh = ob.Sheets("工作表1")
ob.ActiveWorkbook.Close
ob.Quit
Set ob = Nothing
Set os = Nothing
Set osh = Nothing作者: t8899 時間: 2022-11-20 19:34
本帖最後由 t8899 於 2022-11-20 19:39 編輯
回復 t8899
當程序複雜到一定程度 會產生類似問題
最終解決方案就是設一個廣域變數
放在程序外 ...
singo1232001 發表於 2022-11-20 16:44
Set os = ob.Workbooks.Open(路徑)
這指令還無法開檔?請教如何開檔?作者: singo1232001 時間: 2022-11-20 20:33