Sub Macro1()
Workbooks.Add
Dim fso As Object, NewFolder As String
Set fso = CreateObject("Scripting.FileSystemObject")
NewFolder = "D:\CT"
If Not fso.FolderExists(NewFolder) Then
fso.CreateFolder (NewFolder)
End If
ThisWorkbook.ActiveSheet.Range("A1:AN10000").Copy Workbooks(Workbooks.Count).Sheets(1).Range("A1")
ChDir "D:\CT"
[COLOR=#ff0000] Workbooks(Workbooks.Count).SaveAs Filename:="D:\CT\" & Workbooks("CT").ActiveSheet.Name & ".xlsm", FileFormat _[/COLOR]
[COLOR=#ff0000] :=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False[/COLOR]
Workbooks(Workbooks.Count).Close
End Sub
Tên File gốc của bạn có thay đổi không? Tức vẫn là "CT" hay bạn đổi thành File khác? Bạn dùng Office 2003 hay ?Mã:Sub Macro1() Workbooks.Add Dim fso As Object, NewFolder As String Set fso = CreateObject("Scripting.FileSystemObject") NewFolder = "D:\CT" If Not fso.FolderExists(NewFolder) Then fso.CreateFolder (NewFolder) End If ThisWorkbook.ActiveSheet.Range("A1:AN10000").Copy Workbooks(Workbooks.Count).Sheets(1).Range("A1") ChDir "D:\CT" [COLOR=#ff0000] Workbooks(Workbooks.Count).SaveAs Filename:="D:\CT\" & Workbooks("CT").ActiveSheet.Name & ".xlsm", FileFormat _[/COLOR] [COLOR=#ff0000] :=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False[/COLOR] Workbooks(Workbooks.Count).Close End Sub
Cảm ơn bạn đã giúp!
Đã hồi âm cho bạn, phần lỗi mình gặp là ở đoạn màu đỏ.
Tên File gốc của bạn có thay đổi không? Tức vẫn là "CT" hay bạn đổi thành File khác? Bạn dùng Office 2003 hay ?
Xin phép dùng topic cũ này để hỏi về cùng 1 chủ đề lưu sheet
Mình muốn khi chạy code hiện ra bảng chọn đường dẫn và ghi tên file giống chức năng save của MS excel, chỉ khác ở đây là lưu sheet hiện hành ra thành file riêng. (Còn chức năng save của MS excel thì lưu nguyên file excel)
Nhờ các bạn giúp.
Mình cảm ơn!
Vào chỗ này lấy nguyên "cục" về xài luôn cho rồi:
http://www.giaiphapexcel.com/forum/...e-save-as-sheet-hiện-hành&p=531279#post531279
- Chương trình cho phép lưu một hoặc nhiều sheet ra thành file
- Tùy chọn đường dẫn lưu file
- Có thể lưu sheet thành file với nhiều định dạng khác nhau (kể cả lưu thành pdf)
vân vân... và... mây mây
Lưu bao nhiêu Sheet mà chẳng làm được quan trọng là lưu như thế nào? Bạn phải nói rõ ra chứ!Chương trình có thể lưu hơn 1 sheet vào thành 1 file được ko vậy anh ndu?
Ví dụ: file gốc có 5 sheet, mình muốn lưu sheet1, sheet2, sheet3 ra thành 1 file riêng thì làm cách nào?
em cảm ơn!
Chương trình có thể lưu hơn 1 sheet vào thành 1 file được ko vậy anh ndu?
Ví dụ: file gốc có 5 sheet, mình muốn lưu sheet1, sheet2, sheet3 ra thành 1 file riêng thì làm cách nào?
em cảm ơn!
Rất dễ hiểu và rất dễ làm. Cám ơn anh nhiều lắm nhé !Bạn đặt con trỏ vào sheet cần tạo. Bấm phải chuột -> Chọn Move or copy -> Trong ô To book chọn new book -> OK
NẾU SHEETS BIẾN ĐỘNG THÌ SAO ĐÂY THẦY CHẢ NHẼ CỨ SỬA CODE LIÊN TỤC ẠBỏ vòng lặp đi là được:
Mã:Sub LuuFile() With Application .ScreenUpdating = False .DisplayAlerts = False Sheets("sheet1").Copy ActiveWorkbook.Close True, ThisWorkbook.Path & "\Sheet1" .DisplayAlerts = True .ScreenUpdating = True End With End Sub
Vì có người yêu cầu lưu 1 sheet ra 1 file mà bạn. Còn nếu lưu các sheet thì bạn đọc lại bài số 3 nhé.NẾU SHEETS BIẾN ĐỘNG THÌ SAO ĐÂY THẦY CHẢ NHẼ CỨ SỬA CODE LIÊN TỤC Ạ
Cảm ơn thầy ạ,thầy ơi em muốn hỏi là mình có file nhiều sheet,e muốn copy 1 sheet trong file đó thành file riêng với tên file đó là gí trị của 1 ô trong sheet.Mong thầy giúp đỡ !!!Vì có người yêu cầu lưu 1 sheet ra 1 file mà bạn. Còn nếu lưu các sheet thì bạn đọc lại bài số 3 nhé.
Code như trên thôi bạn. Ví dụ tôi lưu sheet với tên là Sheet1 thành file mới chung với thư mục file hiện hành, tên file là cell A1 trong sheet1 thì code như sau:Cảm ơn thầy ạ,thầy ơi em muốn hỏi là mình có file nhiều sheet,e muốn copy 1 sheet trong file đó thành file riêng với tên file đó là gí trị của 1 ô trong sheet.Mong thầy giúp đỡ !!!
Sub LuuFile()
With Application
.ScreenUpdating = False
.DisplayAlerts = False
Sheets("Sheet1").Copy
ActiveWorkbook.Close True, ThisWorkbook.Path & "\" & Sheets("Sheet1").Range("A1")
.DisplayAlerts = True
.ScreenUpdating = True
End With
End Sub
Cái này cũng còn sửa code nữa anh, lỡ tên sheet cần copy không phải là "Sheet1",Code như trên thôi bạn. Ví dụ tôi lưu sheet với tên là Sheet1 thành file mới chung với thư mục file hiện hành, tên file là cell A1 trong sheet1 thì code như sau:
Mã:Sub LuuFile() With Application .ScreenUpdating = False .DisplayAlerts = False Sheets("Sheet1").Copy ActiveWorkbook.Close True, ThisWorkbook.Path & "\" & Sheets("Sheet1").Range("A1") .DisplayAlerts = True .ScreenUpdating = True End With End Sub
Dĩ nhiên rồi Thảo, đó chỉ là ví dụ, vì mình không rõ ý tác giả muốn như thế nào.Cái này cũng còn sửa code nữa anh, lỡ tên sheet cần copy không phải là "Sheet1",
Cảm ơn thầy ạ chúc thầy mạnh khỏe!!!!Code như trên thôi bạn. Ví dụ tôi lưu sheet với tên là Sheet1 thành file mới chung với thư mục file hiện hành, tên file là cell A1 trong sheet1 thì code như sau:
Mã:Sub LuuFile() With Application .ScreenUpdating = False .DisplayAlerts = False Sheets("Sheet1").Copy ActiveWorkbook.Close True, ThisWorkbook.Path & "\" & Sheets("Sheet1").Range("A1") .DisplayAlerts = True .ScreenUpdating = True End With End Sub
Code như trên thôi bạn. Ví dụ tôi lưu sheet với tên là Sheet1 thành file mới chung với thư mục file hiện hành, tên file là cell A1 trong sheet1 thì code như sau:
Mã:Sub LuuFile() With Application .ScreenUpdating = False .DisplayAlerts = False Sheets("Sheet1").Copy ActiveWorkbook.Close True, ThisWorkbook.Path & "\" & Sheets("Sheet1").Range("A1") .DisplayAlerts = True .ScreenUpdating = True End With End Sub
Thì bạn thay thế cái Thisworkbook.path thành đường dẫn là được nhé.Thầy ơi nếu muốn lưu vào thư mục chỉ định ví dụ :C:\Users\Administrator\Desktop\VBA 2019\FILE DU LIEU thì phải sửa code ntn vậy ạ
Sub LuuFile()
With Application
.ScreenUpdating = False
.DisplayAlerts = False
Sheets("Sheet1").Copy
ActiveWorkbook.Close True, "C:\Users\Administrator\Desktop\VBA 2019\FILE DU LIEU\" & Sheets("Sheet1").Range("A1")
.DisplayAlerts = True
.ScreenUpdating = True
End With
End Sub