Menu

Chia sẻ cách tự động đặt tên file khi lưu để quản lý dễ hơn

Khuất Hà Thế 16/06/2026 07:37 281 lượt xem 1 trả lời

Chào mọi người,

Dạo này mình làm nhiều file Excel quá, mỗi lần lưu lại phải đặt tên thủ công, đôi khi quên mất hoặc đặt tên không nhất quán làm sau này tìm lại rất mất thời gian. Hôm nay mình muốn chia sẻ một mẹo nhỏ mà mình mới phát hiện ra để tự động đặt tên file khi lưu, giúp quản lý dữ liệu khoa học hơn.

Ý tưởng là mình sẽ dùng một ô trong file Excel để nhập thông tin chính, sau đó dùng một đoạn mã VBA nhỏ để khi nhấn nút lưu, file sẽ tự động đặt tên theo cấu trúc mình mong muốn. Ví dụ, mình muốn đặt tên file theo dạng: [Loại Báo Cáo]_[Ngày Tháng Năm]_[Tên Dự Án].

Cách làm như sau:

  • Tạo một Sheet mới, đặt tên là 'Config'.
  • Tại Sheet 'Config', tạo các ô để nhập thông tin:
    • Ô A1: Nhập loại báo cáo (Ví dụ: 'BaoCaoThang')
    • Ô B1: Nhập tên dự án (Ví dụ: 'DuAnX')
  • Mở VBA Editor (Alt + F11).
  • Insert một Module mới.
  • Dán đoạn mã sau vào Module:
Sub AutoSaveFile()
    Dim wsConfig As Worksheet
    Dim reportType As String
    Dim projectName As String
    Dim fileName As String
    Dim savePath As String

    Set wsConfig = ThisWorkbook.Sheets('Config')
    reportType = wsConfig.Range('A1').Value
    projectName = wsConfig.Range('B1').Value

    If reportType = '' Or projectName = '' Then
        MsgBox 'Vui lòng nhập đầy đủ thông tin Loại Báo Cáo và Tên Dự Án trong Sheet Config.', vbExclamation
        Exit Sub
    End If

    fileName = reportType & '_' & Format(Date, 'yyyyMMdd') & '_' & projectName & '.xlsm' ' Sử dụng .xlsm vì có VBA

    savePath = Application.GetSaveAsFilename(InitialFileName:=fileName, FileFilter:='Excel Macro-Enabled Workbook (*.xlsm), *.xlsm')

    If savePath <> 'False' Then
        ThisWorkbook.SaveAs Filename:=savePath
    End If
End Sub

Sau khi dán mã, bạn có thể tạo một nút bấm trên giao diện chính của file và gán macro AutoSaveFile cho nó. Mỗi lần muốn lưu, chỉ cần nhập thông tin vào Sheet 'Config' rồi nhấn nút.

Cách này giúp mình tiết kiệm kha khá thời gian và tránh sai sót khi đặt tên file. Hy vọng chia sẻ này hữu ích cho mọi người!

2

Hay quá bạn ơi! Mình cũng đang đau đầu với vụ đặt tên file này. Cái vụ nhập thông tin vào ô rồi dùng VBA nghe có vẻ hay đó. Bạn có thể chia sẻ cụ thể hơn đoạn mã VBA đó được không? Mình muốn biết cấu trúc đặt tên file mà bạn hay dùng là gì, ví dụ như thêm ngày tháng hay mã dự án gì đó không?

5

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký