Code Save as (bấm F12) mở hộp thoại theo đúng thư mục đang chứa File muốn Save as

Liên hệ QC

AnhThu-1976

Thành viên tích cực
Tham gia
17/10/14
Bài viết
1,058
Được thích
170
Các Thầy và anh chị giúp em như sau
Ví dụ: em muốn Save As 1 file mà file này đang nằm trong thư mục nào đó (giả sử D:\TongHopCongNo) thì nó mở hộp thoại Save As ở thư mục D:\TongHopCongNo, để em đặt tên mới cho nó
Tóm lại: Em muốn mở hộp thoại để Save As 1 file mà cùng thư mục với nó (tên file sẽ do em tự đặt)
Cái này em Recode macro và sửa nhưng không được. Em cảm ơn!
 
Các Thầy và anh chị giúp em như sau
Ví dụ: em muốn Save As 1 file mà file này đang nằm trong thư mục nào đó (giả sử D:\TongHopCongNo) thì nó mở hộp thoại Save As ở thư mục D:\TongHopCongNo, để em đặt tên mới cho nó
Tóm lại: Em muốn mở hộp thoại để Save As 1 file mà cùng thư mục với nó (tên file sẽ do em tự đặt)
Cái này em Recode macro và sửa nhưng không được. Em cảm ơn!
Bạn thử Code này xem:
Mã:
Sub SaveAs()
    Dim filename As String
    filename = ThisWorkbook.Path & "\TenFile.xlsm" 'TenFile thi do ban dat ten nhe
    ThisWorkbook.SaveAs filename
End Sub
 
Upvote 0
Bạn thử Code này xem:
Mã:
Sub SaveAs()
    Dim filename As String
    filename = ThisWorkbook.Path & "\TenFile.xlsm" 'TenFile thi do ban dat ten nhe
    ThisWorkbook.SaveAs filename
End Sub
Cảm ơn bạn, bạn chưa hiểu hết ý của mình
Ý tôi là chỉ muốn code mở hộp thoại Save As thôi còn phần còn lại là mình sẽ đặt tên xong và mình sẽ bấm nút Save
 
Upvote 0
Ý tôi là chỉ muốn code mở hộp thoại Save As thôi còn phần còn lại là mình sẽ đặt tên xong và mình sẽ bấm nút Save
Cái này thì mình chưa nghĩ ra. Thử dùng inputbox xem sao :p
Mã:
Sub SaveAs()
    Dim filename As String, file As String
    filename = InputBox("Vui long nhap ten Tep")
    If filename = "" Then Exit Sub
    file = ThisWorkbook.Path & "\" & filename & ".xlsm"
    ThisWorkbook.SaveAs file
End Sub
 
Upvote 0
Cảm ơn bạn, bạn chưa hiểu hết ý của mình
Ý tôi là chỉ muốn code mở hộp thoại Save As thôi còn phần còn lại là mình sẽ đặt tên xong và mình sẽ bấm nút Save
Hoặc đặt theo tên mà em đặt ở ô A1 của sheet "Báo cáo"
Em có sửa code trên nhưng nó báo lỗi
Mã:
Sub SaveAs()
    Dim filename As String
   ' filename = ThisWorkbook.Path & "\TenFile.xlsm" 'TenFile thi do ban dat ten nhe
    filename = ThisWorkbook.Path & "\sheets("Báo cáo").range("A1").value.xlsm" 
    ThisWorkbook.SaveAs filename
End Sub
Em cảm ơn!
 
Upvote 0
Hoặc đặt theo tên mà em đặt ở ô A1 của sheet "Báo cáo"
Sửa thế này nhé!
Mã:
Sub SaveAs()
    Dim filename As String
   ' filename = ThisWorkbook.Path & "\TenFile.xlsm" 'TenFile thi do ban dat ten nhe
    filename = ThisWorkbook.Path & "\" & sheets("Báo cáo").range("A1").value & ".xlsm"
    ThisWorkbook.SaveAs filename
End Sub
 
Upvote 0
Thay vì nhập tên vào InputBox, mình muốn tên file sẽ giống như ô A1 của sheet "Báo cáo" được không bạn?
 
Upvote 0
Thay vì nhập tên vào InputBox, mình muốn tên file sẽ giống như ô A1 của sheet "Báo cáo" được không bạn?
Mã:
Sub SaveAs()
    Dim filename As String
   ' filename = ThisWorkbook.Path & "\TenFile.xlsm" 'TenFile thi do ban dat ten nhe
    filename = ThisWorkbook.Path & "\" & sheets("Báo cáo").range("A1").value & ".xlsm"
    ThisWorkbook.SaveAs filename
End Sub
Bài đã được tự động gộp:

Mã:
Sub SaveAs()
    Dim filename As String
   ' filename = ThisWorkbook.Path & "\TenFile.xlsm" 'TenFile thi do ban dat ten nhe
    filename = ThisWorkbook.Path & "\" & sheets("Báo cáo").range("A1").value & ".xlsm"
    ThisWorkbook.SaveAs filename
End Sub
Để tránh trường hợp code bị lỗi vì có ký tự unicode thì bạn sửa sheets("Báo cáo") thành sheet bao nhiêu luôn nhé
1595748620355.png
 

File đính kèm

  • 1595748567271.png
    1595748567271.png
    40.8 KB · Đọc: 2
Lần chỉnh sửa cuối:
Upvote 0
Excel có sẳn công cụ rồi đó bạn: Application.GetSaveAsFilename hoặc dùng Application.Dialogs(xlDialogSaveAs).Show

Mã:
Sub SaveFile()
    Dim InitialName As String
    Dim FileName As Variant

    InitialName = Sheets("BaoCao").Range("A1")
    
    'Hien thi hop thoai Save as
    FileName = Application.GetSaveAsFilename(InitialName, _
                                              "Excel files (*.xlsx),*.xlsx,Excel Macro-Enabled Workbook (*.xlsm),*.xlsm,Excel Binary Workbook (*.xlsb),*.xlsb", 1, "Chon Folder và dat ten File de luu:")
    'Nguoi dùng huy luu file
    If TypeName(FileName) = "Boolean" Then Exit Sub
    'Luu file
    ActiveWorkbook.SaveCopyAs FileName

End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom