Chuyển 1 sheet thành 1 file

Liên hệ QC

Vinix

Thành viên mới
Tham gia
15/3/08
Bài viết
3
Được thích
0
Mình có 1 file excel gồm nhiều sheet. Nay muốn xuất 1 sheet thành 1 file riêng biệt, có tên là tên của sheet đó thì phải làm thế nào. Google mấy ngày rùi hok ra. Các bác giúp em với.
 
Mình có 1 file excel gồm nhiều sheet. Nay muốn xuất 1 sheet thành 1 file riêng biệt, có tên là tên của sheet đó thì phải làm thế nào. Google mấy ngày rùi hok ra. Các bác giúp em với.
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
 
Upvote 0
Mình có 1 file excel gồm nhiều sheet. Nay muốn xuất 1 sheet thành 1 file riêng biệt, có tên là tên của sheet đó thì phải làm thế nào. Google mấy ngày rùi hok ra. Các bác giúp em với.
Bạn dùng code sau nhé:
Mã:
Sub LuuFile()
   Dim strPath As String
   Dim sh As Worksheet
   Application.ScreenUpdating = False
   strPath = ThisWorkbook.Path
   
     For Each sh In ThisWorkbook.Worksheets
        sh.Copy
        Application.Workbooks(Application.Workbooks.Count).Close _
                    True, strPath & "\ Ten Sheet " & sh.Name
     Next
  Application.ScreenUpdating = True
  
  End Sub

P/S: Nó sẽ lưu vào chung với thư mục của file gốc nhé.
 
Upvote 0
Tình hình là sau khi thêm đoạn code này vào. Cứ mở excel là nó tạo 1 file mới có tên là tên sheet sheet 1. :-??. Xóa hết macro cũng không được. :((
 
Upvote 0
Không biết xử lý vụ này thế nào. Giống bị dính virus quá. huhu
 
Upvote 0
Theo tôi Bạn nên dùng cách của MinhCong là tốt nhất
Tôi đã dùng như thế nhiều rồi
Chúc thành công (mở sheet cần chuyển sang file-chuột phải-chọn Move or copy- .......)
 
Upvote 0
Bạn nhấn Alt+F4 rồi paste Code của Dom và.Bạn quay ra Excel chọn thanh công cụ của Form, vẽ nó một đường và chọn Luu File nhấn một phát vào nút lệnh đó là nó cho nhiều Sheet chung trong một Folder.Cái này mà khi xuất sang 1 File mà cho các số liệu còn y nguyên thì quý biết mấy.Nhưng ô có công thức đều bị lỗi #REF hết.Buồn ghê.
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn dùng code sau nhé:
Mã:
Sub LuuFile()
   Dim strPath As String
   Dim sh As Worksheet
   Application.ScreenUpdating = False
   strPath = ThisWorkbook.Path
   
     For Each sh In ThisWorkbook.Worksheets
        sh.Copy
        Application.Workbooks(Application.Workbooks.Count).Close _
                    True, strPath & "\ Ten Sheet " & sh.Name
     Next
  Application.ScreenUpdating = True
  
  End Sub

P/S: Nó sẽ lưu vào chung với thư mục của file gốc nhé.

Code này thì chuyển từng sheet thành từng file (workbook có bao nhiêu sheet thì thành bấy nhiêu file). Nhưng nếu chỉ muốn chuyển duy nhất 1 sheet cụ thể (ví dụ Sheet 1) thành 1 file thì phải sửa như thế nào? Cám ơn các anh chị.
 
Upvote 0
Code này thì chuyển từng sheet thành từng file (workbook có bao nhiêu sheet thì thành bấy nhiêu file). Nhưng nếu chỉ muốn chuyển duy nhất 1 sheet cụ thể (ví dụ Sheet 1) thành 1 file thì phải sửa như thế nào? Cám ơn các anh chị.
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
 
Upvote 0
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

Code của tác giả rất gọn và đã đáp ứng yêu cầu của chủ topic. Em xin hỏi thêm mấy câu hỏi nâng cao để học hỏi
Code trên tạo file có tên mặc định là sheet1. Xin tác giả bổ sung cách để:
+ Tên file thêm ngày tháng hiện hành (VD: BC_15.06.xls)
+ Nếu sử dụng Code 2 lần sheet sau tự động đè (overwrite)sheet trước. Cần có cảnh báo hoặc tự động thêm ký tự phụ vào tên file mới sinh
+ Code để đổi tên sheet khi sheet được chuyển sang file? mới ?
 
Upvote 0
Code của tác giả rất gọn và đã đáp ứng yêu cầu của chủ topic. Em xin hỏi thêm mấy câu hỏi nâng cao để học hỏi
Code trên tạo file có tên mặc định là sheet1. Xin tác giả bổ sung cách để:
+ Tên file thêm ngày tháng hiện hành (VD: BC_15.06.xls)
+ Nếu sử dụng Code 2 lần sheet sau tự động đè (overwrite)sheet trước. Cần có cảnh báo hoặc tự động thêm ký tự phụ vào tên file mới sinh
+ Code để đổi tên sheet khi sheet được chuyển sang file? mới ?

Dùng code sau:

Mã:
Sub LuuFile()
   With Application
        .ScreenUpdating = False
      '  .DisplayAlerts = False
            Sheets("sheet1").Copy
            ActiveSheet.Name = "TenSheetMoi"
            ActiveWorkbook.Close True, ThisWorkbook.Path & "\BC_" & Format(Now(), "dd-mm")
       ' .DisplayAlerts = True
        .ScreenUpdating = True
    End With
    
End Sub
 
Upvote 0
Dùng code sau:

Mã:
Sub LuuFile()
   With Application
        .ScreenUpdating = False
      '  .DisplayAlerts = False
            Sheets("sheet1").Copy
            ActiveSheet.Name = "TenSheetMoi"
            ActiveWorkbook.Close True, ThisWorkbook.Path & "\BC_" & Format(Now(), "dd-mm")
       ' .DisplayAlerts = True
        .ScreenUpdating = True
    End With
    
End Sub

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!
 

File đính kèm

  • CT.xlsx
    30.9 KB · Đọc: 49
Lần chỉnh sửa cuối:
Upvote 0
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!
Bạn đưa File giả lập lên đây.
 
Upvote 0
Thay vì hiện bảng chọn đường dẫn tôi sẽ lưu luôn sheet hiện hành thành 1 File vào đường dẫn chỉ định có được không?
Không thể chọn đường dẫn vậy nhờ bạn giúp tạo 1 folder cùng đường dẫn với file chính và lấy tên folder là tên file chính (file gốc chứa nhiều sheet) sau đó lưu sheet trong folder đó.
Đối với các sheet lưu sau mà cùng nằm trong file excel chính, nếu kiểm tra có folder rồi thì ko cần tạo folder nữa mà lưu thẳng vào folder đó luôn.
Còn tên file có thay đổi được không vậy bạn?
Không biết mình yêu cầu vậy có khó quá không, mong các bạn thông cảm!
Mình cảm ơn nhiều!
 
Upvote 0
Không thể chọn đường dẫn vậy nhờ bạn giúp tạo 1 folder cùng đường dẫn với file chính và lấy tên folder là tên file chính (file gốc chứa nhiều sheet) sau đó lưu sheet trong folder đó.
Đối với các sheet lưu sau mà cùng nằm trong file excel chính, nếu kiểm tra có folder rồi thì ko cần tạo folder nữa mà lưu thẳng vào folder đó luôn.
Còn tên file có thay đổi được không vậy bạn?
Không biết mình yêu cầu vậy có khó quá không, mong các bạn thông cảm!
Mình cảm ơn nhiều!
Của bạn đây:
+ Cách dùng: Tại sheet hiện hành bạn bấm tổ hợp phím Ctrl+Shift+A để chạy code lưu Sheet hiện hành. Tôi tạo thư mục có tên là "CT" trong ổ D("D:\CT") các sheet hiện hành được lưu vào Folder này với tên File chính là tên của các Sheet đó!
 

File đính kèm

  • CT.rar
    34.3 KB · Đọc: 195
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom