Thông thường, người dùng cần tự động làm mới các tệp Excel có chứa các hàm thay đổi hoặc Kết nối truy vấn. Chỉ Macro VBA tự động làm mới tệp Excel mà không cần mở. Kết nối truy vấn để tự động làm mới không hỗ trợ tự động làm mới cho các tệp đã đóng. Thuộc tính Kết nối Truy vấn chỉ có thể tự động làm mới dữ liệu của tệp Excel đã mở sau một khoảng thời gian đã đặt cụ thể. Quá trình là một xlsm khác Tệp Excel chạy macro để tự động làm mới tệp Excel đã đóng được chỉ định. Trong bài viết này, chúng tôi trình bày việc áp dụng hai macro để tự động làm mới tệp Excel mà không cần mở tệp đó.
Tải xuống Sổ làm việc Excel
Trình trợ giúp Tệp Macro Excel chạy macro để tự động làm mới tệp mục tiêu hoặc tệp.
2 cách dễ dàng để tự động làm mới tệp Excel mà không cần mở
Một tệp Excel khác chạy macro mở và đóng tệp Excel được chỉ định để tự động làm mới bằng cách mở. Kể từ khi “ Đếm ngược ”Tệp Excel chứa các hàm được cập nhật khi mở.
Đi qua phần bên dưới để có thể tự động tự động làm mới tệp Excel mà không cần mở chúng.
Phương pháp 1:Sử dụng VBA Macro để tự động làm mới một tệp Excel cụ thể mà không cần mở
Đếm ngược Tệp Excel có TODAY () và NOW () các chức năng đếm ngược đếm trong thời gian thực. Chúng tôi muốn tự động làm mới giá trị của các hàm mà không cần mở tệp.
Các bước: Sử dụng tệp Excel khác để chèn Mô-đun Visual Basic ( Alt + F11 > Chèn > Mô-đun hoặc Nhà phát triển tab> Macro trực quan > Chèn > Mô-đun ). Trong mô-đun, hãy dán macro sau.
Public Sub AutoRefreshClosedFile()
FilePath = "C:\Users\maruf\Desktop\Softeko\Auto Refresh Excel File Without Opening\Countdown"
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.EnableEvents = False
.AskToUpdateLinks = False
End With
Workbooks.Open FilePath
ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
ActiveWorkbook.Close True
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.EnableEvents = True
.AskToUpdateLinks = True
End With
End Sub
Giải thích macro
- Đặt Đường dẫn Tệp trong thiết bị để tự động làm mới.
- VBA VỚI câu lệnh thực thi nhiều lệnh không làm thay đổi tệp.
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.EnableEvents = False
.AskToUpdateLinks = False
End With
- Mở mở tệp được chỉ định.
- Đóng đóng tệp đã mở.
- Một VBA WITH khác cập nhật tệp sau khi tự động làm mới.
- Nhấn F5 để chạy macro. Excel mở Countdown.xlsx tập tin. Vì tệp chứa các hàm dễ bay hơi như TODAY () và NOW () , tệp sẽ tự động làm mới khi mở ở chế độ nền. Bạn có thể kiểm tra kết quả bằng cách mở lại tệp.
⧭Mẹo: Trong trường hợp người dùng cần tự động làm mới tệp Excel đã mở một cách tự động, hãy sử dụng macro sau hoặc chỉ các dòng macro với lệnh. Tất nhiên, thay đổi Phạm vi (tức là A1:D14 ) và thời gian tự động làm mới (tức là “s”, 30 ) bằng cách sử dụng Application.OnTime trong macro.
Sub AutoCalculationRange()
Range("A1:D14").Calculate
Application.OnTime DateAdd("s", 30, Now), "AutoCalculationRange"
End Sub
Đọc thêm: Cách tự động làm mới trang tính Excel bằng VBA (4 phương pháp)
Bài đọc tương tự
- Cách Tự động Làm mới Bảng Tổng hợp mà không cần VBA trong Excel (3 Phương pháp Thông minh)
- [Đã sửa!] Các Ô Excel Không Cập nhật Trừ khi Nhấp đúp (5 Giải pháp)
- Cách Làm mới Biểu đồ trong Excel (2 Cách Hiệu quả)
- Cách Tự động Cập nhật Bảng Tổng hợp Khi Dữ liệu Nguồn Thay đổi
Phương pháp 2:Thực thi Tự động làm mới cho Tất cả các Tệp Excel Trong một Thư mục
Thay thế cho phương pháp 1 , người dùng có thể tự động làm mới tất cả các tệp Excel trong một thư mục. Thực thi macro này sẽ cho phép người dùng mở, do đó tự động làm mới các tệp Excel bên trong một thư mục được chỉ định.
Các bước: Thay thế macro trước bằng macro sau.
Public Sub AutoRefreshFolder()
Dim mrf As Object
Dim mfolder As Object
Dim mfile As Object
mPath = "C:\Users\maruf\Desktop\Softeko\Auto Refresh Excel File Without Opening\"
Set mrf = CreateObject("Scripting.FileSystemObject")
Set mfolder = mrf.GetFolder(mPath)
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.EnableEvents = False
.AskToUpdateLinks = False
End With
For Each mfile In mfolder.Files
If Right(mfile.Name, 4) = "xlsx" Or Right(mfile.Name, 3) = "xlsx" Then
Workbooks.Open mPath & mfile.Name
ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
ActiveWorkbook.Close True
End If
Next
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.EnableEvents = True
.AskToUpdateLinks = True
End With
End Sub
Giải thích macro
- Tham chiếu đến các biến là Đối tượng .
Dim mrf As Object
Dim mfolder As Object
Dim mfile As Object
- Đặt mPath để cung cấp một thư mục cụ thể.
- VBA VỚI câu lệnh thực thi nhiều lệnh mà không làm thay đổi tệp.
- VBA CHO và IF xem qua từng xlsx để mở và đóng chúng từ xa.
For Each mfile In mfolder.Files
If Right(mfile.Name, 4) = "xlsx" Or Right(mfile.Name, 3) = "xlsx" Then
Workbooks.Open mPath & mfile.Name
ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
ActiveWorkbook.Close True
End If
Next
- Cuối cùng, macro tự động làm mới tệp bằng VBA WITH .
- Đi tới Chạy > Chạy Sub / UserForm F5 để tự động làm mới các tệp bên trong thư mục. Đối với các tệp đã mở, nhấn F9 để làm mới trang tính đang hoạt động. Cuối cùng, kết quả tương tự như phương pháp 1 đạt được.
Đọc thêm:Cách tự động làm mới bảng tổng hợp mà không cần VBA trong Excel (3 phương pháp thông minh)
Kết luận
Bài viết này thảo luận về các biến thể macro để tự động làm mới tệp Excel mà không cần mở chúng. Sử dụng bất kỳ macro nào được mô tả để làm như vậy. Chúng tôi hy vọng các macro này mở xlsx và do đó tự động làm mới chúng.
Hãy xem trang web tuyệt vời của chúng tôi, Exceldemy, để tìm các bài viết thú vị trên Excel.
Các bài viết liên quan
- [Đã giải quyết]:Các công thức Excel chưa cập nhật cho đến khi lưu (6 giải pháp khả thi)
- Cách tắt tính năng Làm mới Nền trong Excel (2 Phương pháp Tiện dụng)
- Cách Làm mới Bảng Tổng hợp trong Excel (4 Cách Hiệu quả)
- VBA để Làm mới Bảng Pivot trong Excel (5 Ví dụ)
- Cách Tự động Cập nhật với Khoảng thời gian 5 Giây trong Excel
- Bảng Pivot không được làm mới (5 Vấn đề &Giải pháp)
- Cách Tự động Làm mới Bảng Tổng hợp trong Excel (2 Phương pháp)