Giúp code save As từ XSLB thành xlsm

Liên hệ QC

minhtuan55

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
23/3/16
Bài viết
705
Được thích
52
Em có 1 File tên là Chamcong.XLSB em muốn sau khi em làm việc xong, và em Đóng file này thì nó tự lưu save as thành 1 file dự phòng Chamcong.Xlsm tại 1 thư mục chỉ định ( Nghỉa là khi em thoát File Chamcong.XLSB thì nó âm thầm Save as thành FIle Chamcong.Xlsm và nó đóng luôn 2 file luôn , rồi em tắt máy tính em đi về )
Và mỗi lần SAve as thì Xóa File cũ đã lưu trước đó đi, và chỉ giử 1 file duy nhất cho lần Đóng gần đây nhất . XIn chân thành cảm ơn


Em có dùng Đoạn code này. Save thì được rồi nhưng Mở file lên dự phòng lên không được

Mã:
Sub saveasnew()

    Dim FolderPath As String

    FolderPath = "C:\Users\VU\Desktop\Text Ma vach\" ' DIA CHI LUU

    With CreateObject("Scripting.FileSystemObject")

        If Not .FolderExists(FolderPath) Then .CreateFolder (FolderPath)

         ThisWorkbook.SaveCopyAs FolderPath & "DU LIEU " & Format(Now(), "DD-MM-YYYY") & ".Xlsm"

    End With

End Sub
 
Lần chỉnh sửa cuối:
vấn đề của bạn tôi thử trên Office 2016 là vầy

1/ code Anh @quanghai1969 viết cơ bản như vậy là ok nhưng khi file bạn xài code là File *.xlsb mà sử dụng FileSystemObject copy lưu đè sang file *.xls thì chạy nó vẫn OK nhưng khi mở File *.xls lên nó báo lỗi Format ... (hình kèm theo)

2/ tại sao bạn không lưu thành 1 File *.xlsb như file gốc đi cho nó không báo lỗi Format

3/ Chép thêm dòng sau vào code anh hải viết nữa là hết thắc mắc nhe ... nên sửa lại thành *.xlsb ... còn nếu *.xls là mở file lưu dự phòng lên báo lỗi Format ... khi đó bạn phải chọn Yes

ActiveWorkbook.Save ''' No to tra ba day nha

Mã:
Sub saveasnew()
Dim FolderPath As String
Dim Source As String
Dim NewFile As String

ActiveWorkbook.Save ''' No to tra ba day nha
FolderPath = "C:\Users\Administrator\Desktop\thu nghiem\"

Source = ThisWorkbook.FullName
NewFile = FolderPath & "DuLieu " & Day(Date) & "_" & Month(Date) & "_" & Year(Date) & ".xls"
With CreateObject("Scripting.FileSystemObject")
     If Not .FolderExists(FolderPath) Then .CreateFolder (FolderPath)
     .CopyFile Source, NewFile
End With
End Sub

View attachment 194414
tại em muốn save về XLS hoặc XLSM để em em dùng điện thoại xem được. Còn file gốc làm bằng XLSB để chạy trường trình lưu, tính toán Nhanh
 
Upvote 0
Upvote 0
tại em muốn save về XLS hoặc XLSM để em em dùng điện thoại xem được. Còn file gốc làm bằng XLSB để chạy trường trình lưu, tính toán Nhanh
XLSB đúng là nhanh hơn các định dạng khác nhưng cũng chỉ đôi chút thôi chứ không phải quá "lợi hại" như ta tưởng đâu (nếu không anh Bill cũng không tạo nhiều kiểu làm gì)
Một file muốn nhanh còn phụ thuộc vào nhiều yếu tố. Nếu bạn bố trí dữ liệu hợp lý + công thức hợp lý + dùng công cụ hợp lý... thì lưu loại nào nó cũng sẽ nhanh
Được cái này mất cái kia, bạn tự cân nhắc nên "hy sinh" cái nào cho thuận tiện với công việc nhất nhé
 
Upvote 0
XLSB đúng là nhanh hơn các định dạng khác nhưng cũng chỉ đôi chút thôi chứ không phải quá "lợi hại" như ta tưởng đâu (nếu không anh Bill cũng không tạo nhiều kiểu làm gì)
Một file muốn nhanh còn phụ thuộc vào nhiều yếu tố. Nếu bạn bố trí dữ liệu hợp lý + công thức hợp lý + dùng công cụ hợp lý... thì lưu loại nào nó cũng sẽ nhanh
Được cái này mất cái kia, bạn tự cân nhắc nên "hy sinh" cái nào cho thuận tiện với công việc nhất nhé
dạ em cảm ơn anh
 
Upvote 0
Web KT
Back
Top Bottom