Nhờ giúp đỡ viết code cho UserForm

Liên hệ QC

peternhp29

Thành viên mới
Tham gia
17/5/17
Bài viết
42
Được thích
6
Chào anh chị em trên GPE!

Kính chúc sức khỏe mọi người.

Em có 1 file cần nhờ giúp đỡ một phần là để học tập, một phần là để công việc hóa. Em thường phải in nhãn cho các thùng hàng với số lượng lớn (hiện tại em phải copy). Em muốn nhờ mọi người giúp em viết code theo UserForm em đã tạo sẵn. Ô số phiếu là ô nhập 2 thì sẽ xuất hiện 2 nhãn có đầy đủ thông tin và giống nhau như lúc em nhập trong UserForm. Thông tin chi tiết em có ghi trong file.

Em xin cảm ơn mọi người đã dành thời gian ghé qua.
 

File đính kèm

Ngày xửa ngày xưa mình làm như vầy ...
1. Nhập dữ liệu trực tiếp vào sheet nhập liệu, số lượng phải >1
2. Trang inlabel dùng hàm index để merge .....
 

File đính kèm

Upvote 0
Mình tán thành cách làm của bạn Tống Văn Đệ
Với bổ sung sau đây:
Cái trang 'InLabel' nên là trống trơn ngay từ đầu;
& vùng [A1 D6] của trang này nên có ở trang mà mình gọi là 'DuLieu"; Ví dụ như tại vùng [AA1:AD6]. Vùng này nên được gán tên.
Như vậy khi cần in bao nhiêu nhãn thì macro chỉ chép vùng mẫu gán tên này bấy nhiêu thôi;
Như vậy ta có 2 lần chép;
(1) trước tiên chép mẫu theo số lượng cần thiết
(2) Chép dữ liệu lên mẫu in để in
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
BS:
1./ Nhãn theo từng cặp; nhưng chưa có fân cách giữa cặp; Như vậy sẽ khó khăn khi rọc tách chúng
Ta nên để thêm 1 cột trống ở giữa cặp nhãn này; Tất nhiên chiều rọng cột thêm này không cần nhiều.
2./ Mình dàn trang để in khổ giấy A4 thì được 7 cặp nhãn;
Như vậy macro nạp dự liệu (để in, tất nhiên rồi) ta có thể tùy biến để nạp nhiều nội dung các nhãn khác nhau cùng lúc, để in đủ 7 cặp nhãn; Thực hiện được điều này sẽ tiết kiệm được công sức & giấy in.
 
Lần chỉnh sửa cuối:
Upvote 0
Ngày xửa ngày xưa mình làm như vầy ...
1. Nhập dữ liệu trực tiếp vào sheet nhập liệu, số lượng phải >1
2. Trang inlabel dùng hàm index để merge .....
Mình cảm ơn bạn nhiều rất hữu ích. Mình mới học VBA được 2 ngày thôi, nhìn code thì chỉ hiểu sơ sơ, muốn hỏi bạn thêm là mình có thể dời sheet nhập dữ liệu qua sheet inlabel được không, tiện cho việc theo dõi nhãn luôn.
Bài đã được tự động gộp:

Mình tán thành cách làm của bạn Tống Văn Đệ
Với bổ sung sau đây:
Cái trang 'InLabel' nên là trống trơn ngay từ đầu;
& vùng [A1 D6] của trang này nên có ở trang mà mình gọi là 'DuLieu"; Ví dụ như tại vùng [AA1:AD6]. Vùng này nên được gán tên.
Như vậy khi cần in bao nhiêu nhãn thì macro chỉ chép vùng mẫu gán tên này bấy nhiêu thôi;
Như vậy ta có 2 lần chép;
(1) trước tiên chép mẫu theo số lượng cần thiết
(2) Chép dữ liệu lên mẫu in để in
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
BS:
1./ Nhãn theo từng cặp; nhưng chưa có fân cách giữa cặp; Như vậy sẽ khó khăn khi rọc tách chúng
Ta nên để thêm 1 cột trống ở giữa cặp nhãn này; Tất nhiên chiều rọng cột thêm này không cần nhiều.
2./ Mình dàn trang để in khổ giấy A4 thì được 7 cặp nhãn;
Như vậy macro nạp dự liệu (để in, tất nhiên rồi) ta có thể tùy biến để nạp nhiều nội dung các nhãn khác nhau cùng lúc, để in đủ 7 cặp nhãn; Thực hiện được điều này sẽ tiết kiệm được công sức & giấy in.

Bạn trả lời đúng ý mình rồi, hiện tại mình có rất nhiều nhãn mà mỗi nhãn có nội dung khác nhau, mỗi lần in là hàng trăm hàng nghìn nhãn, rất mất thời gian, nếu được bạn xem giúp mình.
Mình cảm ơn bạn nhiều, mới học VBA được 2 ngày mà thấy hay quá, nhưng không thể hiểu hết được.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Mình cảm ơn bạn nhiều rất hữu ích. Mình mới học VBA được 2 ngày thôi, nhìn code thì chỉ hiểu sơ sơ, muốn hỏi bạn thêm là mình có thể dời sheet nhập dữ liệu qua sheet inlabel được không, tiện cho việc theo dõi nhãn luôn.
......................
Bạn trả lời đúng ý mình rồi, hiện tại mình có rất nhiều nhãn mà mỗi nhãn có nội dung khác nhau, mỗi lần in là hàng trăm hàng nghìn nhãn, rất mất thời gian, nếu được bạn xem giúp mình.
Mình cảm ơn bạn nhiều, mới học VBA được 2 ngày mà thấy hay quá, nhưng không thể hiểu hết được.
Góp ý cho bạn:
Nên có 1 sheet chứa dữ liệu, để cần in loại nhãn nào thì dựa vào dữ liệu của sheet này.
 
Upvote 0
Góp ý cho bạn:
Nên có 1 sheet chứa dữ liệu, để cần in loại nhãn nào thì dựa vào dữ liệu của sheet này.
Cảm ơn bạn đã góp ý. Hiện tại mình làm bằng cách nhập dữ liệu tay, cần in bao nhiêu nhãn thì copy và paste nên mới phải mỗi nhãn một sheet. Từ khi biết tới VBA mới có ý tưởng in hàng loạt, mà trình độ vba mới học 2 ngày nên mạo muội nhờ các anh chị GPE giúp đỡ.

Cảm ơn bạn rất nhiều.
 
Upvote 0
(1). . . . , muốn hỏi bạn thêm là mình có thể dời sheet nhập dữ liệu qua sheet inlabel được không, tiện cho việc theo dõi nhãn luôn.
(2) , hiện tại mình có rất nhiều nhãn mà mỗi nhãn có nội dung khác nhau, mỗi lần in là hàng trăm hàng nghìn nhãn, rất mất thời gian, nếu được bạn xem giúp mình..
(1) Dời (hay gộp 2 trang tính lại) là hoàn toàn không nên;
1 trang để in, 1 trang chứa tất cả CSDL của bạn & lưu từ tháng này sang tháng khác. (Đến khi nào nhiếu & nhãn nào không xài nữa mới xóa mà thôi
Quan trọng là trang CSDL của bạn; Nếu gộp chung, có ngày thành món cháo lòng trộn cám heo!

(2) Nhãn nhiều thì ta in nhiều trang; mỗi trang, như mính nói trên, có 7 cặp nhãn
Trên 7 cặp này ta có thể in hơn 1 loại nhãn, có vậy mới tiết kiệm giấy & công sức in.
Quan trọng trong trang CSDL là fải có trường chỉ mục để tìm kiếm cho dễ & nhanh; Vậy bạn cho biết nếu cần tìm kiếm dữ liệu để in thì ta căn cứ vô trường (hay cột) nào sau đây: [PO], hay [ Code], [P. Date] hay trường nào khác.
Điều này là quan trọng nếu ta tiếp tục chương trình hay ho này!

Thân!
 
Lần chỉnh sửa cuối:
Upvote 0
Mình cảm ơn bạn nhiều rất hữu ích. Mình mới học VBA được 2 ngày thôi, nhìn code thì chỉ hiểu sơ sơ, muốn hỏi bạn thêm là mình có thể dời sheet nhập dữ liệu qua sheet inlabel được không, tiện cho việc theo dõi nhãn luôn.
Bài đã được tự động gộp:



Bạn trả lời đúng ý mình rồi, hiện tại mình có rất nhiều nhãn mà mỗi nhãn có nội dung khác nhau, mỗi lần in là hàng trăm hàng nghìn nhãn, rất mất thời gian, nếu được bạn xem giúp mình.
Mình cảm ơn bạn nhiều, mới học VBA được 2 ngày mà thấy hay quá, nhưng không thể hiểu hết được.
Câu trả lời là quá dễ dàng !
Bạn tự tìm hiểu và làm đi !
Cái user form là bạn thiết kế được thì mấy dòng code đó chỉ là trò trẻ con...
Học hỏi là chính...
Lời giải sẽ có trong 3 ngày nữa...
 
Upvote 0
(1) Dời (hay gộp 2 trang tính lại) là hoàn toàn không nên;
1 trang để in, 1 trang chứa tất cả CSDL của bạn & lưu từ tháng này sang tháng khác. (Đến khi nào nhiếu & nhãn nào không xài nữa mới xóa mà thôi
Quan trọng là trang CSDL của bạn; Nếu gộp chung, có ngày thành món cháo lòng trộn cán heo!

(2) Nhãn nhiều thì ta in nhiều trang; mỗi trang, như mính nói trên, có 7 cặp nhãn
Trên 7 cặp này ta có thể in hơn 1 loại nhãn, có vậy mới tiết kiệm giấy & công sức in.
Quan trọng trong trang CSDL là fải có trường chỉ mục để tìm kiếm cho dễ & nhanh; Vậy bạn cho biết nếu cần tìm kiếm dữ liệu để in thì ta căn cứ vô trường (hay cột) nào sau đây: [PO], hay [ Code], [P. Date] hay trường nào khác.
Điều này là quan trọng nếu ta tiếp tục chương trình hay ho này!

Thân!
(1)...cảm ơn bạn, mình sẽ để ý tới vấn đề trong cách làm, hiện tại mình toàn nhét chung vô một sheet.
(2)..Dữ liệu cần tìm thì tất cả các cột như PO CODE P.DATE hầu như thay đổi hoàn toàn, chỉ có kích thước nhãn và tiêu đề là giữ nguyên.

Ở đây mình chỉ cần đơn giản hơn, nhập vào thông tin (như file của bác Tống Văn Đệ) thì nhãn sẽ xuất hiện nội dung- quan trọng là cần bao nhiêu phiếu cho nhãn đó.

Để cải tiến được như bạn nữa thì thật sự quá hay, đỡ tốn thời gian và tiết kiệm giấy vì có trường hợp mình in 2 nhãn thuộc 2 mẫu khác nhau là mất 2 tờ A4, vì kích thước và tiêu đề các mẫu nhãn do khách hàng yêu cầu, mình ko thể tự ý chỉnh sửa được.
Bài đã được tự động gộp:

Câu trả lời là quá dễ dàng !
Bạn tự tìm hiểu và làm đi !
Cái user form là bạn thiết kế được thì mấy dòng code đó chỉ là trò trẻ con...
Học hỏi là chính...
Lời giải sẽ có trong 3 ngày nữa...
Cảm ơn bác đã dành thời gian giúp đỡ, em vẫn còn phải học hỏi nhiều.
 
Upvote 0
Cảm ơn bạn đã góp ý. Hiện tại mình làm bằng cách nhập dữ liệu tay, cần in bao nhiêu nhãn thì copy và paste nên mới phải mỗi nhãn một sheet. Từ khi biết tới VBA mới có ý tưởng in hàng loạt, mà trình độ vba mới học 2 ngày nên mạo muội nhờ các anh chị GPE giúp đỡ.

Cảm ơn bạn rất nhiều.
Bạn nên thực hiện như cách làm ở bài 2.
- 1 sheet chứa nhãn và 1 sheet chứa dữ liệu.
- Riêng bài 2 thì cần thêm 1 sheet để lưu theo dõi số PO đã thực hiện để còn tổng hợp báo cáo số lượng khi cần hoặc muốn in mới hoặc in lại chỉ cần dựa vào sheet này để tra số PO. Tôi thấy bạn có tạo 1 UseForm để nhập liệu thì nên thêm 1 Listbox dùng để tra CODE có sẳn và chỉ cần sửa số lượng và nhập mới cho nó vào sheet nhập liệu.
 
Upvote 0
BONUS: Lang thang trên net gặp được code hay TOC , share cho bạn luôn ( trang MucLuc )...
Bài giải: Làm cho bạn trang Aromat, các trang còn lại cũng tương tự thôi ..
Chúc vui vẻ, mạnh khỏe và thành đạt
 

File đính kèm

Upvote 0
BONUS: Lang thang trên net gặp được code hay TOC , share cho bạn luôn ( trang MucLuc )...
Bài giải: Làm cho bạn trang Aromat, các trang còn lại cũng tương tự thôi ..
Chúc vui vẻ, mạnh khỏe và thành đạt
Cảm ơn bạn rất nhiều, đã xem qua và đã rất đúng ý, nhưng vì còn gà mờ VBA nên chắc chắn sẽ lại nhờ bác hỗ trợ thêm để file hoàn thiện hơn.

Một lần nữa cảm ơn bạn rất nhiều.
Chúc sức khỏe.
 
Upvote 0
Mình cũng đến đây & còn fải bổ sung nhiều; Bạn voọc thử xem sao ( Thử với ngày 8/25/2018 í)
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom