Copy sheet, đổi tên sheet và tách file tự động

Liên hệ QC

manhav2k5

Thành viên mới
Tham gia
19/6/16
Bài viết
30
Được thích
6
Kính gửi các anh, chị và các bạn.
Hiện tại em có một file excel dùng quản lý đo dung sai của sản phẩm, mỗi sản phẩm thì dùng một file excel, mỗi file lại có nhiều sheet có cấu trúc giống nhau. Mỗi lần tạo mới sheet: thì em đang làm thủ công là giữ phím "ctrl" + kéo chuột để sao chép ( nhân bản) sheet mới từ sheet đã có, sau đó đổi lại tên sheet và xoá bỏ dữ liệu ở các vị trí cần nhập dữ liệu mới để được sheet mới. Mỗi lần tao sheet mới lại phải kiểm tra xem tên sheet có bị trùng nhau hay không, tên sheet đặt có đúng định dạng là số không, các sheet sắp xếp có đúng thứ tự từ bé đến lớn (sheet tăng dần không). Có những sản phẩm sản xuất nhiều có thể có từ 100 đến 1000 sheet. Trường hợp mà số sheet của một file quá nhiều (lớn hơn 100 sheet) thì sẽ tự tách ra một file mới và lưu cùng vị trí lưu file cũ. Vậy nhờ các anh, chị và các bạn viết code vba giúp em để có thể tạo sheet mới tự động và tách ra một file mới nếu tổng số sheet của một file lớn hơn 100 sheet.
Chị tiết em có ghi trong file đính kèm ah.
Em xin chân thành cảm ơn ah.
 

File đính kèm

  • dungsai.xls
    117.5 KB · Đọc: 18
Kính gửi các anh, chị và các bạn.
Hiện tại em có một file excel dùng quản lý đo dung sai của sản phẩm, mỗi sản phẩm thì dùng một file excel, mỗi file lại có nhiều sheet có cấu trúc giống nhau. Mỗi lần tạo mới sheet: thì em đang làm thủ công là giữ phím "ctrl" + kéo chuột để sao chép ( nhân bản) sheet mới từ sheet đã có, sau đó đổi lại tên sheet và xoá bỏ dữ liệu ở các vị trí cần nhập dữ liệu mới để được sheet mới. Mỗi lần tao sheet mới lại phải kiểm tra xem tên sheet có bị trùng nhau hay không, tên sheet đặt có đúng định dạng là số không, các sheet sắp xếp có đúng thứ tự từ bé đến lớn (sheet tăng dần không). Có những sản phẩm sản xuất nhiều có thể có từ 100 đến 1000 sheet. Trường hợp mà số sheet của một file quá nhiều (lớn hơn 100 sheet) thì sẽ tự tách ra một file mới và lưu cùng vị trí lưu file cũ. Vậy nhờ các anh, chị và các bạn viết code vba giúp em để có thể tạo sheet mới tự động và tách ra một file mới nếu tổng số sheet của một file lớn hơn 100 sheet.
Chị tiết em có ghi trong file đính kèm ah.
Em xin chân thành cảm ơn ah.
Mình gợi ý cho bạn thế này nhé
1. Tạo sẵn 1 form, khi cần chỉ cần copy sheet chứa form, khỏi cần xóa các vùng chỉ định
2. Tạo tên sheet mới chỉ mất 1s thì viết code làm gì
3. Tên sheet thì không thể trùng nhau được nhé, bạn hãy an tâm
4. Khi đủ lượng sheet cần thiết thì save as. Việc viết code có lẽ không cần thiết
*****************
Nếu vẫn muốn dùng code thì có thể tìm trên google, chắc cũng không quá khó
Quan điểm cá nhân của mình thì cách lưu trữ thông tin của bạn không ổn lắm, vì khi cần tra cứu thông tin nào đó sẽ mất rất nhiều công sức.
 
Upvote 0
Mình gợi ý cho bạn thế này nhé
1. Tạo sẵn 1 form, khi cần chỉ cần copy sheet chứa form, khỏi cần xóa các vùng chỉ định
2. Tạo tên sheet mới chỉ mất 1s thì viết code làm gì
3. Tên sheet thì không thể trùng nhau được nhé, bạn hãy an tâm
4. Khi đủ lượng sheet cần thiết thì save as. Việc viết code có lẽ không cần thiết
*****************
Nếu vẫn muốn dùng code thì có thể tìm trên google, chắc cũng không quá khó
Quan điểm cá nhân của mình thì cách lưu trữ thông tin của bạn không ổn lắm, vì khi cần tra cứu thông tin nào đó sẽ mất rất nhiều công sức.
Lúc đầu (tức là sheet đầu tiên của file) thì em có copy từ form đã dựng sẵn nên không phải xoá các vùng chỉ định, nhưng đến sheet thứ 2 trở đi do sheet đầu tiên em đã nhập dữ liệu vào rồi nên sau mỗi lần nhân bản sheet để sao chép thành sheet mới thì e không có được form dựng sẵn nữa mà phải xoá dữ liệu cũ đi và rename sheet mới ah.
Ý tưởng của em là tạo cái nút bấm "thêm mới" khi ấn vào đó sẽ tạo sheet mới , rename sheet, xoa dữ liệu cũ... Nhưng khả năng code em không có ah.
Cảm ơn anh đã góp ý.
 
Lần chỉnh sửa cuối:
Upvote 0
Có những sản phẩm sản xuất nhiều có thể có từ 100 đến 1000 sheet. Trường hợp mà số sheet của một file quá nhiều (lớn hơn 100 sheet) thì sẽ tự tách ra một file mới và lưu cùng vị trí lưu file cũ

Bạn nên tìm hiểu, bổ sung kiến thức về xây dựng cấu trúc dữ liệu đúng chuẩn. Chứ không nên tập trung vào mấy cái code, form, rồi tạo sheet gì đó.

Sau khi nắm được cách xây dựng cấu trúc dữ liệu 'ngon lành', tự nhiên bạn sẽ thấy mọi thứ đơn giản, một bầu trời tươi đẹp hiện ra.
 
Upvote 0
Bạn nên tìm hiểu, bổ sung kiến thức về xây dựng cấu trúc dữ liệu đúng chuẩn. Chứ không nên tập trung vào mấy cái code, form, rồi tạo sheet gì đó.

Sau khi nắm được cách xây dựng cấu trúc dữ liệu 'ngon lành', tự nhiên bạn sẽ thấy mọi thứ đơn giản, một bầu trời tươi đẹp hiện ra.
Tại cái form của em là quản lý sản phẩm => em nghĩ một file một sản phẩm.
Quản lý theo số lần sản xuất
=> em nghĩ là mỗi sheet là 1lần sản xuất.
Một lần sản xuất lại có thể có đến 10 lần đo dung sai => em nghĩ để theo 1 sheet ah.
Do có lẽ cứ hiểu sao làm vậy nên cái form có cấu trúc như vậy ah, em sẽ lưu ý hơn.
Cảm ơn anh đã góp ý.
 
Upvote 0
Kính gửi các anh, chị và các bạn.
Hiện tại em có một file excel dùng quản lý đo dung sai của sản phẩm, mỗi sản phẩm thì dùng một file excel, mỗi file lại có nhiều sheet có cấu trúc giống nhau. Mỗi lần tạo mới sheet: thì em đang làm thủ công là giữ phím "ctrl" + kéo chuột để sao chép ( nhân bản) sheet mới từ sheet đã có, sau đó đổi lại tên sheet và xoá bỏ dữ liệu ở các vị trí cần nhập dữ liệu mới để được sheet mới. Mỗi lần tao sheet mới lại phải kiểm tra xem tên sheet có bị trùng nhau hay không, tên sheet đặt có đúng định dạng là số không, các sheet sắp xếp có đúng thứ tự từ bé đến lớn (sheet tăng dần không). Có những sản phẩm sản xuất nhiều có thể có từ 100 đến 1000 sheet. Trường hợp mà số sheet của một file quá nhiều (lớn hơn 100 sheet) thì sẽ tự tách ra một file mới và lưu cùng vị trí lưu file cũ. Vậy nhờ các anh, chị và các bạn viết code vba giúp em để có thể tạo sheet mới tự động và tách ra một file mới nếu tổng số sheet của một file lớn hơn 100 sheet.
Chị tiết em có ghi trong file đính kèm ah.
Em xin chân thành cảm ơn ah.
Góp vui. Hãy thử xem biết đâu có ích cho bạn hay người quan tâm khác.
Mong nhận được nhiều góp ý.
Trân trọng
 

File đính kèm

  • DUNGSAI.xlsm
    217.2 KB · Đọc: 23
Upvote 0
@ chủ bài đăng: Bạn nên xây dựng lại CSDL theo mô hình mà phòng kế toán ghi nhật ký chứng từ ý;
Mình mường tượng như:

STTNgàyMã SFLoại SFNgười lậpBF Yêu cầuSố lần SXMáy SXKích thước chuẩnDung sai. . . .Ghi chú

Còn ghi như bạn thì giấy bao cho đủ với bạn & bạn đang là nguồn cơn của nạn phá rừng đó nha!
 
Lần chỉnh sửa cuối:
Upvote 0
Góp vui. Hãy thử xem biết đâu có ích cho bạn hay người quan tâm khác.
Mong nhận được nhiều góp ý.
Trân trọng
Cảm ơn bạn đã viết code hỗ trợ mình, mình có xem file bạn gửi thì cũng đúng yêu cầu mình mong muốn là copy sheet và rename sheet tự động. Nhưng vẫn có chút vấn đề là :
Khi mình copy sheet thì sheet mới bị vỡ định dạng dòng và cột.
Mình có 4 cột có chứa công thức mình muốn ẩn đi những lại bị hiện ra.
Phần tách file mình làm những chưa tách được file.

Mình có lấy file bạn gửi cho mình và mình gõ tìm kiếm trên Google, sau đó copy và ráp vào nhau thì ra cái file dưới đây. Nhưng khi tách file cứ bị lỗi là nó lấy cả sheet cuối cùng của file cũ và sheet mới sang workbook mới.
Tuy là cũng tạo ra file mới nhưng nếu để file ở trong máy tính của mình thì còn dễ chọn lưu nếu để file trên server thì mình không biết chọn đường dẫn lưu như thế nào cả vì nó không chỉ luôn được đến đường dẫn chứa file gốc. .
Nếu bạn biết sửa giúp mình với ah.
Bài đã được tự động gộp:

@ chủ bài đăng: Bạn nên xây dựng lại CSDL theo mô hình mà phòng kế toán ghi nhật ký chứng từ ý;
Mình mường tượng như:

STTNgàyMã SFLoại SFNgười lậpBF Yêu cầuSố lần SXMáy SXKích thước chuẩnDung sai. . . .Ghi chú

Còn ghi như bạn thì giấy bao cho đủ cho bạn & bạn đang là nguồn cơn của nạn phá rừng đó nha!
Dạ, file này là dùng để in ra giấy a4 mỗi một sheet sẽ in một tờ a4 ah. Công đoạn em đo dung sai lần 1 sau khi xuất san phẩm cho bên yêu cầu thì họ sẽ mang ra đo lại rồi mới đem cho sản xuất, gần như cứ đầu ca làm việc họ phải đo lại và cập nhật thông tin các lần đo đó vào form bên e tạo ra ah. Tức là form cho nhiều bên sử dụng ah.
Cảm ơn góp ý của anh ah.
 

File đính kèm

  • DUNGSAI2.xlsm
    112.8 KB · Đọc: 8
Lần chỉnh sửa cuối:
Upvote 0
. . . , file này là dùng để in ra giấy a4 mỗi một sheet sẽ in một tờ a4 ah. Công đoạn em đo dung sai lần 1 sau khi xuất san phẩm cho bên yêu cầu thì họ sẽ mang ra đo lại rồi mới đem cho sản xuất, gần như cứ đầu ca làm việc họ phải đo lại và cập nhật thông tin các lần đo đó vào form bên e tạo ra ah. Tức là form cho nhiều bên sử dụng ah.
Cảm ơn góp ý của anh ah.
Vậy cơ quan (CQ) bạn lưu số liệu cônghệ như thế nào?
Chả lẽ như file #1 hay cốt lõi như vậy?
Theo mình thì số liệu sẽ phải nhập tất tần tật vố CSDL như bài trên mình đã ví dụ;
Từ CSDL này muốn lấy ra form hay bảng biểu để đánh giá hay báo cáo thì mặc sức . . . .

Mong là những ngày nghỉ Tết & rỗi, bạn nên tìm hiểu thêm về việc xây dựng CSDL từ qui trình cônghệ của CQ bạn

Chúc mọi người vui!
 
Upvote 0
Cảm ơn bạn đã viết code hỗ trợ mình, mình có xem file bạn gửi thì cũng đúng yêu cầu mình mong muốn là copy sheet và rename sheet tự động. Nhưng vẫn có chút vấn đề là :
Khi mình copy sheet thì sheet mới bị vỡ định dạng dòng và cột.
Mình có 4 cột có chứa công thức mình muốn ẩn đi những lại bị hiện ra.
Phần tách file mình làm những chưa tách được file.

Mình có lấy file bạn gửi cho mình và mình gõ tìm kiếm trên Google, sau đó copy và ráp vào nhau thì ra cái file dưới đây. Nhưng khi tách file cứ bị lỗi là nó lấy cả sheet cuối cùng của file cũ và sheet mới sang workbook mới.
Tuy là cũng tạo ra file mới nhưng nếu để file ở trong máy tính của mình thì còn dễ chọn lưu nếu để file trên server thì mình không biết chọn đường dẫn lưu như thế nào cả vì nó không chỉ luôn được đến đường dẫn chứa file gốc. .
Nếu bạn biết sửa giúp mình với ah.
Bài đã được tự động gộp:


Dạ, file này là dùng để in ra giấy a4 mỗi một sheet sẽ in một tờ a4 ah. Công đoạn em đo dung sai lần 1 sau khi xuất san phẩm cho bên yêu cầu thì họ sẽ mang ra đo lại rồi mới đem cho sản xuất, gần như cứ đầu ca làm việc họ phải đo lại và cập nhật thông tin các lần đo đó vào form bên e tạo ra ah. Tức là form cho nhiều bên sử dụng ah.
Cảm ơn góp ý của anh ah.
Theo tôi bạn nên đọc kỹ bài của Anh @quanghai (#2) và bài của Anh @befaint (bài #4) và đặc biệt là nên đọc thật kỹ bài của Anh @SA_DQ để từ đó XD 1 CSDL thật chuẩn, Từ CSDL đó bạn có thể kiểm soát việc đo dung sai SP không phải bằng 100 sheet mà chỉ cần 1 Sheet Form để (nhập liệu, xem lại các lần nhập trước (theo mã SP), sửa DL, xóa DL in ấn tùy thích), và 1 Sh Data(để lưu lại các lần đo dung sai), Sheet này sẽ có đủ các trường là thông tin của các mục trong Sheet Form, Nếu nhiều SP cần đo dung sai thì có thể cần thêm Sheet DANHMUC mã SP nữa.
 
Upvote 0
Web KT
Back
Top Bottom