Excel VBA - Cách chuyển hàng loạt file từ XLS sang XLSX
Hướng dẫn:
- Mở Excel và nhấn
Alt + F11
để mở cửa sổ VBA Editor. - Chèn một module mới bằng cách nhấn
Insert > Module
. - Dán đoạn mã VBA sau vào module mới:
Sub ConvertXLS_XLSX()
Dim wb As Workbook
Dim sourceFolder As String
Dim targetFolder As String
Dim file As String
' Đường dẫn thư mục chứa các file .xls
sourceFolder = "C:\path\to\xls\files\"
' Đường dẫn thư mục lưu các file .xlsx đã chuyển đổi
targetFolder = "C:\path\to\save\xlsx\files\"
' Đảm bảo rằng các thư mục kết thúc bằng dấu gạch chéo
If Right(sourceFolder, 1) <> "\" Then sourceFolder = sourceFolder & "\"
If Right(targetFolder, 1) <> "\" Then targetFolder = targetFolder & "\"
' Lấy file đầu tiên với định dạng .xls trong thư mục nguồn
file = Dir(sourceFolder & "*.xls")
' Duyệt qua tất cả các file .xls trong thư mục nguồn
Do While file <> ""
' Mở file .xls
Set wb = Workbooks.Open(sourceFolder & file)
' Lưu file dưới định dạng .xlsx
wb.SaveAs targetFolder & Replace(file, ".xls", ".xlsx"), FileFormat:=xlOpenXMLWorkbook
' Đóng workbook
wb.Close SaveChanges:=False
' Lấy file tiếp theo
file = Dir
Loop
MsgBox "Chuyển đổi hoàn tất!"
End Sub
Hướng dẫn chi tiết:
- Đặt đường dẫn: Thay đổi giá trị của
sourceFolder
thành đường dẫn thư mục chứa các file.xls
vàtargetFolder
thành đường dẫn nơi bạn muốn lưu các file.xlsx
đã chuyển đổi. - Chạy macro: Nhấn
F5
hoặc vàoRun > Run Sub/UserForm
trong VBA Editor để chạy đoạn mã này.
Script này sẽ:
- Duyệt qua tất cả các file
.xls
trong thư mục chỉ định. - Mở từng file
.xls
. - Lưu lại dưới định dạng
.xlsx
trong thư mục đầu ra. - Đóng từng file sau khi lưu.
Sau khi quá trình hoàn tất, bạn sẽ nhận được thông báo "Chuyển đổi hoàn tất!".
Post a Comment