Code copy sheet và tạo folder mới rồi dán sheet

Liên hệ QC

namkpac

Thành viên thường trực
Tham gia
25/11/08
Bài viết
279
Được thích
9
Em mở 1 top mới chứ bài viết bên kia không đúng chỗ
Các anh chị giúp em 1 trường hợp này với; em có 1 file excel tên GIAYMOI nằm trong 1 folder tên DICH, bây giờ em muốn copy sheet1 trong file excel GIAYMOI đồng thời tạo 1 folder mới với tên của folder được lấy từ cell A4 của sheet1 và khi copy xong là đưa sheet1 này vào chính folder mới tạo có tên được lấy từ cell A4 của sheet1 đó và tên file mới sau khi copy đó cũng tên được lấy từ cell A4 luôn. thêm điều kiện là nếu có trùng thì báo và lưu mới cũng gồm tên được lấy tại cell A4 và thêm thời gian, ngày tháng năm sau tên đó. Em gửi kèm ví dụ luôn trong đó GIAYMOI là file gốc.
 

File đính kèm

  • Hoi GPE.rar
    22.8 KB · Đọc: 19
Em mở 1 top mới chứ bài viết bên kia không đúng chỗ
Các anh chị giúp em 1 trường hợp này với; em có 1 file excel tên GIAYMOI nằm trong 1 folder tên DICH, bây giờ em muốn copy sheet1 trong file excel GIAYMOI đồng thời tạo 1 folder mới với tên của folder được lấy từ cell A4 của sheet1 và khi copy xong là đưa sheet1 này vào chính folder mới tạo có tên được lấy từ cell A4 của sheet1 đó và tên file mới sau khi copy đó cũng tên được lấy từ cell A4 luôn. thêm điều kiện là nếu có trùng thì báo và lưu mới cũng gồm tên được lấy tại cell A4 và thêm thời gian, ngày tháng năm sau tên đó. Em gửi kèm ví dụ luôn trong đó GIAYMOI là file gốc.
Bạn tham khảo link này nhé!
http://www.giaiphapexcel.com/forum/...de-vba-tách-dữ-liệu-ra-thành-từng-sheet-riêng
 
Upvote 0
Tinh thần không phải vậy. Tức là từ file GIAYMOI ta tạo một button lưu và khi bấm thì nó sẽ copy sheet1 trong file excel GIAYMOI đồng thời tạo 1 folder mới với tên của folder được lấy từ cell A4 của sheet1 và khi copy xong là đưa sheet1 này vào chính folder mới tạo có tên được lấy từ cell A4 của sheet1 đó và tên file mới sau khi copy đó cũng tên được lấy từ cell A4 luôn. thêm điều kiện là nếu có trùng thì báo và lưu mới cũng gồm tên được lấy tại cell A4 và thêm thời gian, ngày tháng năm sau tên đó. và toàn bộ cùng nằm trong 1 thư mục chung l à thư mục DICH
 
Upvote 0
Em làm được phần copy rồi còn phần tạo folder mới với tên folder được lấy từ cell A4 trong sheet1 và tên của file cũng được lấy từ cell A4 trong sheet1 luôn nhờ anh chị giúp với
 

File đính kèm

  • Hoi GPE.rar
    30.3 KB · Đọc: 19
Upvote 0
Em làm được phần copy rồi

Bạn làm được sao không đưa lên đây?
----------------------
Em mở 1 top mới chứ bài viết bên kia không đúng chỗ
Các anh chị giúp em 1 trường hợp này với; em có 1 file excel tên GIAYMOI nằm trong 1 folder tên DICH, bây giờ em muốn copy sheet1 trong file excel GIAYMOI đồng thời tạo 1 folder mới với tên của folder được lấy từ cell A4 của sheet1 và khi copy xong là đưa sheet1 này vào chính folder mới tạo có tên được lấy từ cell A4 của sheet1 đó và tên file mới sau khi copy đó cũng tên được lấy từ cell A4 luôn. thêm điều kiện là nếu có trùng thì báo và lưu mới cũng gồm tên được lấy tại cell A4 và thêm thời gian, ngày tháng năm sau tên đó. Em gửi kèm ví dụ luôn trong đó GIAYMOI là file gốc.
Tôi mô tả lại vấn đề:
- Đầu tiên bạn có file GIAYMOI nằm trong thư mục DICH (hay gì gì đó), trong file có Sheet1, trong Sheet1 có cell A4 đang chứa dữ liệu gì đó. Ta sẽ lấy dữ liệu tại cell A4 này để đặt tên cho file và folder, đúng không?
- Bây giờ nếu chạy code, ta sẽ tạo ngay 1 folder có tên là giá trị của cell A4 (trong file là folder Ong A), đồng thời copy sheet1 ra 1 workbook mới, lưu nó với tên cũng là giá trị của cell A4 (trong file là Ong A.xlsx) và cho file nằm trong thư mục vừa tạo (thư mục Ong A)
- Nếu bấm nút chạy code lần nữa, cũng sẽ tạo folder và file tương tự như trên nhưng nếu folder đã tồn tại thì sẽ tạo 1 folder khác với tên là giá trị cell A4 + chuỗi giờ phút + chuỗi ngày tháng năm... ví dụ là folder Ong A 08-30-25-6-2015. Sheet1 vừa copy cũng sẽ được lưu trong folder mới này
- Đoạn chuỗi màu đỏ ở trên mang ý nghĩa 8:30 25/6/2015 <--- Đúng không?
---------------------------------------------
Vậy có câu hỏi cho bạn: Tại thời điểm 8:30 cùng ngày, nếu ta bấm nút chạy code 2 hoặc nhiều lần liên tiếp thì sẽ tạo folder thế nào?
 
Upvote 0
Bạn làm được sao không đưa lên đây?
----------------------

Tôi mô tả lại vấn đề:
- Đầu tiên bạn có file GIAYMOI nằm trong thư mục DICH (hay gì gì đó), trong file có Sheet1, trong Sheet1 có cell A4 đang chứa dữ liệu gì đó. Ta sẽ lấy dữ liệu tại cell A4 này để đặt tên cho file và folder, đúng không?
- Bây giờ nếu chạy code, ta sẽ tạo ngay 1 folder có tên là giá trị của cell A4 (trong file là folder Ong A), đồng thời copy sheet1 ra 1 workbook mới, lưu nó với tên cũng là giá trị của cell A4 (trong file là Ong A.xlsx) và cho file nằm trong thư mục vừa tạo (thư mục Ong A)
- Nếu bấm nút chạy code lần nữa, cũng sẽ tạo folder và file tương tự như trên nhưng nếu folder đã tồn tại thì sẽ tạo 1 folder khác với tên là giá trị cell A4 + chuỗi giờ phút + chuỗi ngày tháng năm... ví dụ là folder Ong A 08-30-25-6-2015. Sheet1 vừa copy cũng sẽ được lưu trong folder mới này
- Đoạn chuỗi màu đỏ ở trên mang ý nghĩa 8:30 25/6/2015 <--- Đúng không?
---------------------------------------------
Vậy có câu hỏi cho bạn: Tại thời điểm 8:30 cùng ngày, nếu ta bấm nút chạy code 2 hoặc nhiều lần liên tiếp thì sẽ tạo folder thế nào?
Em cảm ơn anh mô tả đúng như ý em rồi, còn về cùng 1 thời điểm thì có thể thêm tới ss luôn được không anh
Sub Xuatdulieu()
With Application
.ScreenUpdating = False
.DisplayAlerts = False
Sheets(Array(sheet1.Name)).Copy
ActiveWorkbook.SaveAs FileName:=ThisWorkbook.Path & "\Du lieu luu ngay " & Format(Now(), "dd-mm-yyyy")

ActiveWorkbook.Close True
.DisplayAlerts = True
.ScreenUpdating = True
End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Em cảm ơn anh mô tả đúng như ý em rồi, còn về cùng 1 thời điểm thì có thể thêm tới ss luôn được không anh
Tôi thắc mắc:
- Tại sao lại tạo quá nhiều folder trong khi mỗi folder chỉ chứa duy nhất có 1 file?
- Tại sao không lưu toàn bộ file chung 1 folder và đặt tên theo format Range("A4").Value & "_hh.mm.ss_dd-mm-yyyy" & ".xlsx"
???
Bởi nếu lưu theo format như trên, bạn cũng đâu có lo gì chuyện file bị ghi đè
 
Upvote 0
Dạ đúng rồi anh tức là nếu trong A4 mà nội dung không thay đổi thì chỉ lưu file thôi không tạo folder nữa còn nếu trong A4 mà nội dung thay đổi thì lưu lại folder mới và tên file mới theo nội dung của A4 ạ.
 
Upvote 0
Dạ đúng rồi anh tức là nếu trong A4 mà nội dung không thay đổi thì chỉ lưu file thôi không tạo folder nữa còn nếu trong A4 mà nội dung thay đổi thì lưu lại folder mới và tên file mới theo nội dung của A4 ạ.
Tôi thấy bài #8 và bài đầu của bạn mâu thuẫn quá!
 
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
Tôi thắc mắc:
- Tại sao lại tạo quá nhiều folder trong khi mỗi folder chỉ chứa duy nhất có 1 file?
- Tại sao không lưu toàn bộ file chung 1 folder và đặt tên theo format Range("A4").Value & "_hh.mm.ss_dd-mm-yyyy" & ".xlsx"
???
Bởi nếu lưu theo format như trên, bạn cũng đâu có lo gì chuyện file bị ghi đè
Có anh chị nào giúp e với, e thử mấy cách mà vẫn chưa được
 
Upvote 0
Bạn nêu yêu cầu rõ ràng lại 1 lần nữa đi. Mỗi lúc 1 kiểu!

ý của em như phần phân tích của anh ndu, anh ndu có nói thêm nếu file thay đổi trong khoảng 1 phút thì sẽ bị ghi chồng vậy thì mình tăng thời gian ghi là tính bằng giây luôn. như bài 5 của anh ndu phân tích em có 1 code xuatdata nhưng chỉ là copy lại sheet1 và lưu với thời gian như đã trình bày còn tạo folder và lưu file này vô folder vừa tạo thì chưa làm được. và nếu có folder bị trùng thì vẫn lưu file vô folder đó nhưng có thêm tên cho file là ngày giờ
 
Lần chỉnh sửa cuối:
Upvote 0
ý của em như phần phân tích của anh ndu, anh ndu có nói thêm nếu file thay đổi trong khoảng 1 phút thì sẽ bị ghi chồng vậy thì mình tăng thời gian ghi là tính bằng giây luôn. như bài 5 của anh ndu phân tích
Nhưng #6 thấy ý bạn lại khác đi rồi!
 
Lần chỉnh sửa cuối:
Upvote 0
ý của em như phần phân tích của anh ndu, anh ndu có nói thêm nếu file thay đổi trong khoảng 1 phút thì sẽ bị ghi chồng vậy thì mình tăng thời gian ghi là tính bằng giây luôn. như bài 5 của anh ndu phân tích em có 1 code xuatdata nhưng chỉ là copy lại sheet1 và lưu với thời gian như đã trình bày còn tạo folder và lưu file này vô folder vừa tạo thì chưa làm được. và nếu có folder bị trùng thì vẫn lưu file vô folder đó nhưng có thêm tên cho file là ngày giờ
 

File đính kèm

  • DICH.rar
    10.7 KB · Đọc: 14
Lần chỉnh sửa cuối:
Upvote 0
ý của em như phần phân tích của anh ndu, anh ndu có nói thêm nếu file thay đổi trong khoảng 1 phút thì sẽ bị ghi chồng vậy thì mình tăng thời gian ghi là tính bằng giây luôn. như bài 5 của anh ndu phân tích em có 1 code xuatdata nhưng chỉ là copy lại sheet1 và lưu với thời gian như đã trình bày còn tạo folder và lưu file này vô folder vừa tạo thì chưa làm được. và nếu có folder bị trùng thì vẫn lưu file vô folder đó nhưng có thêm tên cho file là ngày giờ
Nếu dùng teamview thì gửi ID và Pas cho tôi!
 
Lần chỉnh sửa cuối:
Upvote 0
Mình đang cài teamview mình chưa có nên đang tải về
ID 717 224 893
Pass 2704
 
Upvote 0
100k đó bạn mình ko đùa đâu; mình thấy học hỏi mà kiểu này thì pó tay; anh ta đóng gói file thành exe thế mới nói.
 
Upvote 0
Web KT
Back
Top Bottom