Chuyển đến nội dung chính

Excel VBA - Cách chuyển hàng loạt file từ XLS sang XLSX


Để chuyển đổi nhiều file từ định dạng XLS sang XLSX bằng VBA, bạn có thể viết một đoạn mã VBA trong Excel để tự động thực hiện quá trình này. Dưới đây là hướng dẫn chi tiết và đoạn mã VBA cần thiết:

Hướng dẫn:

  1. Mở Excel và nhấn Alt + F11 để mở cửa sổ VBA Editor.
  2. Chèn một module mới bằng cách nhấn Insert > Module.
  3. 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:

  1. Đặt đường dẫn: Thay đổi giá trị của sourceFolder thành đường dẫn thư mục chứa các file .xlstargetFolder thành đường dẫn nơi bạn muốn lưu các file .xlsx đã chuyển đổi.
  2. Chạy macro: Nhấn F5 hoặc vào Run > 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!".

Nhận xét

Bài đăng phổ biến từ blog này

Cách tra cứu thông tin cá nhân qua số CCCD hoặc Mã số thuế trên Excel

Trong bài viết này, mình sẽ hướng dẫn bạn cách tra cứu họ tên và địa chỉ từ số CCCD/ hoặc mã số thuế cá nhân (MST) trên Excel. Đây là cách tra cứu nhanh chóng, tiện lợi, giúp bạn tiết kiệm được thời gian và công sức. 1. Tìm hiểu về CCCD/ MST cá nhân Căn cước công dân (CCCD) là một loại giấy tờ tùy thân rất quan trọng của tất cả công dân Việt Nam, được cơ quan Công an cấp. Mỗi CCCD có một mã QR code riêng, chứa tất cả các thông tin cá nhân của công dân, giúp cho việc xác thực danh tính công dân được nhanh chóng, chính xác hơn. Mã số thuế cá nhân (MST) là một mã số do Cơ quan quản lý thuế cấp cho mỗi cá nhân đăng ký thuế khi họ thực hiện nghĩa vụ nộp thuế vào Ngân sách nhà nước. 2. Hướng dẫn tra cứu số CCCD/ MST ra họ tên và địa chỉ trên Excel Bước 1. Tải BuilderTV Add-in tại đây . Bước 2. Sử dụng các hàm sau để tra cứu họ tên và địa chỉ: - Hàm hoTen(Số_CCCD/MST) để tra cứu Họ tên của người có số CCCD/ MST cần tra cứu. - Hàm diaChi(Số_CCCD/MST) để tra cứu Địa chỉ của người có số CCCD...

Hướng Dẫn Xóa Các Style Tùy Chỉnh Trong Word Bằng VBA

  Hướng Dẫn Xóa Các Style Tùy Chỉnh Trong Word Bằng VBA Khi làm việc với các tài liệu Word tải về, bạn có thể gặp phải tình trạng tài liệu chứa quá nhiều Style tùy chỉnh không cần thiết, khiến việc định dạng trở nên rối rắm. Bài viết này sẽ hướng dẫn bạn cách xóa toàn bộ các Style tùy chỉnh và chỉ giữ lại các Style mặc định của Word bằng cách sử dụng VBA (Visual Basic for Applications). Bước 1: Kích hoạt Developer Tab trong Word Trước khi sử dụng VBA, bạn cần kích hoạt tab Developer : Mở Word . Vào File > Options . Trong cửa sổ Word Options , chọn Customize Ribbon . Trong danh sách bên phải, đánh dấu vào ô Developer và bấm OK . Bước 2: Mở VBA Editor Nhấn Alt + F11 để mở VBA Editor . Trong cửa sổ VBA, vào menu Insert > Module để tạo một module mới. Bước 3: Dán đoạn mã VBA Dán đoạn mã sau vào module mới: Sub DeleteCustomStyles() Dim s As Style For Each s In ActiveDocument.Styles If Not s.BuiltIn Then On Error Resume Next s.Delete ...