我要关闭所有工作簿,但活动工作簿不会断开链接。
Sub dateUpdate()
Dim WB As Workbook
Dim TestWkbk As Workbook
Dim obj As Object
Range("C1").Select
Application.ScreenUpdating = False
Workbooks.Open Filename:=ActiveWorkbook.Path & "\receiving.xlsx", ReadOnly:=True
ActiveWindow.Visible = False
Workbooks.Open Filename:=ActiveWorkbook.Path & "\packing.xlsx", ReadOnly:=True
ActiveWindow.Visible = False
Workbooks.Open Filename:=ActiveWorkbook.Path & "\shipping.xlsx", ReadOnly:=True
ActiveWindow.Visible = False
Workbooks.Open Filename:=ActiveWorkbook.Path & "\hoist.xlsx", ReadOnly:=True
ActiveWindow.Visible = False
ThisWorkbook.Activate
'Application.ScreenUpdating = True
If Val(Application.Version) >= 12 Then
Set TestWkbk = Nothing
On Error Resume Next
Set TestWkbk = Workbooks("WinDatePicker.xlam")
On Error GoTo 0
If TestWkbk Is Nothing Then
MsgBox "Sorry the Date Picker add-in is not open."
Else
Application.Run "'" & TestWkbk.Name & "'!OpenDatePicker", obj
End If
End If
For Each WB In Workbooks
If WB.Name <> ThisWorkbook.Name Then
WB.Close savechanges:=False
End If
Next WB
End Sub如果我选择一个新的日期,那么我会得到参考错误,因为书已经关闭了。有什么办法可以解决这个问题吗?
发布于 2016-08-31 03:34:49
下面的代码将关闭除活动工作簿之外的所有工作簿
Dim wb As Workbook
For Each wb In Application.Workbooks
If Not (wb Is Application.ActiveWorkbook) Then
wb.Close
End If
Next发布于 2016-08-31 03:34:53
关闭除活动工作簿之外的所有工作簿
Sub test()
Application.DisplayAlerts = False
Dim ActiveWB: ActiveWB = ThisWorkbook.Name
For Each wb In Application.Workbooks
If (wb.Name <> ActiveWB) Then
wb.Close
End If
Next
End Subhttps://stackoverflow.com/questions/39235541
复制相似问题