Sub Autpen()'This sub will close all workbooks
'except the workbook in which the code is located.
'Thanks to http://support.microsoft.com/kb/147742
Dim WkbkName As Object
On Error GoTo Close_Error
Application.ScreenUpdating = False
For Each WkbkName In Application.Workbooks()
If WkbkName.Name <> ThisWorkbook.Name Then WkbkName.Close
Next
'If everything runs all right, exit the sub.
Exit Sub
'Error handler.
Close_Error:
MsgBox Str(Err) & " " & Error()
Resume Next
End Sub
Cuối cùng em cũng mò được trên mạng, em xin chia sẻ nếu ai thấy cần
Dám cá với bạn code này không ăn thua. Nó sẽ chẳng đóng được những file excel mở trên các session khác nhau
Ví dụ thay vì người ta double click vào biểu tượng file để mở file thì người ta lại làm khác:
- Khởi động Excel (từ Start menu\Program)
- Xong, bấm Open để mở 1 file Excel
- Tiếp theo lại khởi động Excel lần nữa rồi lại bấm Open để mở file khác
- Với 2 lần Open như vậy thì 2 file Excel trên sẽ được xem là nằm trên 2 session khác nhau
- Bây giờ, nếu ta khởi động Excel, bấm Open để mở file đang chứa code thì chắc chắn rằng code của ta không biết có sự tồn tại của 2 file Excel đã mở trước đó
-------------
Bạn thí nghiệm sẽ biết
E đã test theo cách của anh và thấy đúng. Nhưng khổ nỗi cái file excel cùi của em nó cứ lỗi lung tung nếu có các file excel khác đang mở..
Vậy sao không trị tận gốc cho nó? File của bạn bị lỗi thì trị chính file ấy, mắc mớ gì file khác?
Đưa file của lên xem thử nào!
Đại khái thế này thì phảiChào bác, xin phép được chen ngang 1 câu hỏi ngắn do chủ topic không thấy gửi file.
Em xin code để: khi mở file A thì file B (D:\ABC\B.xls) cũng tự động mở theo và tự động đóng lại ngay mà không save. (Lý do là file A có dùng Vlookup để lấy dữ liệu trong file B, File B được thay đổi thường xuyên, nếu khi làm việc với file A mà ko mở file B lúc đó thì các hàm Vlookup không chịu cập nhật thông tin mới)
Sub mofile()
Workbooks.Open duongdantenfile
Workbooks("tenfile").Close False
End Sub
Em đang gặp trường hợp như thế. Có giải pháp nào để ta gộp hai session lại một không ạDám cá với bạn code này không ăn thua. Nó sẽ chẳng đóng được những file excel mở trên các session khác nhau
Ví dụ thay vì người ta double click vào biểu tượng file để mở file thì người ta lại làm khác:
- Khởi động Excel (từ Start menu\Program)
- Xong, bấm Open để mở 1 file Excel
- Tiếp theo lại khởi động Excel lần nữa rồi lại bấm Open để mở file khác
- Với 2 lần Open như vậy thì 2 file Excel trên sẽ được xem là nằm trên 2 session khác nhau
- Bây giờ, nếu ta khởi động Excel, bấm Open để mở file đang chứa code thì chắc chắn rằng code của ta không biết có sự tồn tại của 2 file Excel đã mở trước đó
-------------
Bạn thí nghiệm sẽ biết
Thầy @ndu96081631 ơi,Dám cá với bạn code này không ăn thua. Nó sẽ chẳng đóng được những file excel mở trên các session khác nhau
Ví dụ thay vì người ta double click vào biểu tượng file để mở file thì người ta lại làm khác:
- Khởi động Excel (từ Start menu\Program)
- Xong, bấm Open để mở 1 file Excel
- Tiếp theo lại khởi động Excel lần nữa rồi lại bấm Open để mở file khác
- Với 2 lần Open như vậy thì 2 file Excel trên sẽ được xem là nằm trên 2 session khác nhau
- Bây giờ, nếu ta khởi động Excel, bấm Open để mở file đang chứa code thì chắc chắn rằng code của ta không biết có sự tồn tại của 2 file Excel đã mở trước đó
-------------
Bạn thí nghiệm sẽ biết
Sub CloseAllFiles()
Dim wb As Workbook
For Each wb In Application.Workbooks
If wb.Name <> ThisWorkbook.Name Then
wb.Close SaveChanges:=True
End If
Next wb
End Sub
ah, thì ra là mở Excel theo kiểu này thì đúng là không thể close hết tất file khác session bằng code của mình dc.
Có cách nào để nó đóng tất cả các file khác session không bácah, thì ra là mở Excel theo kiểu này thì đúng là không thể close hết tất file khác session bằng code của mình dc.
Cám ơn bác @befaint nha....
nhiều sesion thì vào từng sesion mà đóng file hết lại chứ nhờ,session bằng code của mình dc.
Không có cách nào dùng code để đóng à bánhiều sesion thì vào từng sesion mà đóng file hết lại chứ nhờ,
Dùng code để đóng, chứ ai đóng bằng tay.Không có cách nào dùng code để đóng à bá
Bác cho em xin code được không ạDùng code để đóng, chứ ai đóng bằng tay.