Tạo SheetForm để làm phiếu nhập lỗi hằng ngày

Liên hệ QC

tamngominh

Thành viên mới
Tham gia
20/7/18
Bài viết
16
Được thích
4
Chào các BAC,
Hằng ngày em phải nhập lỗi theo Type và checking date có sẵn,
Các bác giúp em tạo form nhập lỗi theo Type và Checking date với
Số lượng Cột lỗi khá là nhiều trên 60 cột
Chân thành cảm ơn các bác nhé
 

File đính kèm

  • nhap loi.xlsx
    2.4 MB · Đọc: 32
Bạn đang có 9 nhóm lỗi;
Trong đó nhóm lỗi cuối có nhiều dòng nhất (~20 dòng)
Mình đầ xuất nhập tuần tự theo nhóm lỗi; Như vậy bạn cần 1 ComboBox để chọn nhóm lỗi cần nhập
Sau khi chọn 1 từ 9 nhóm lỗi từ ComboBox này; sẽ hiện ra các lỗi trong nhóm lỗi đó
Các này cần ~20 TextBox & 20 nhãn ứng với từng TextBox đó của bạn.
Các nhãn (Label) của TextBox sẽ thay đổi nội dung khi ta thay đổi nhóm lỗi trong ComboBox
Sau khi bạn xong nội dung 1 nhóm lỗi ta bấm vô nút lệnh lưu để chỉ nhập nội dung cho nhóm lỗi đó trong dòng đang nhập liệu
& cứ như vậy cho đến hết 9 nhóm lỗi.
Như vậy là ngoài các Control như đã nêu, ta cần thêm 1 nút lệnh để lưu (từng số liệu cho 1 nhóm lỗi lần lượt)
& cuối cùng là 6 hay 7 TextBox để nhập fần chung cho 9 nhóm lỗi của dòng nhập liệu;

Đọc đến đây bạn sẽ thấy rằng, ta cần xác định dòng đang nhập liệu là chuyện hiễn nhiên trong mỗi lần bấm vô nút lệnh lưu (theo từng nhóm)
Nếu không có cái định vị dòng này, ta sẽ lưu theo kiểu râu ông nọ cắm cằm bà hàng xóm kia!

Nếu không chấp nhận kiểu nhập theo nhóm này, bạn sẽ fải hình thành ~100 Controls trên 1 Form để nhập 1 lần cho 1 dòng dữ liệu.
Quay lại cách mình đề xuất:
Để không lưu nhằm dòng dữ liệu sau mỗi lần nhập theo nhóm ta cần 1 cột (trường) thẻ hiện cái duy nhất của dòng dữ liệu đó.
Mình xin tạm gọi trường (cột) này là [Index], trường này ta fải căn cứ vô cột [Ngày], nhưng cần thêm 1 hai 2 căn cứ nữa để nó trở thành đúng vài trò nhận diện duy nhất của nó; 1 hay 2 căn cứ này bạn cần cho biết ta nên dựa vô đâu.

Chờ quyết định từ bạn.
(1) Có nhập theo nhóm (lỗi) hay không?
(2) Nếu theo (1) thì cho biết í bạn để tạo ra chỉ mục duy nhất của 1 dòng dữ liệu.

Rất vui nếu được trao đổi tiếp cùng bạn!
 
Upvote 0
Bạn đang có 9 nhóm lỗi;
Trong đó nhóm lỗi cuối có nhiều dòng nhất (~20 dòng)
.................................................................................................................
Chờ quyết định từ bạn.
(1) Có nhập theo nhóm (lỗi) hay không?
(2) Nếu theo (1) thì cho biết í bạn để tạo ra chỉ mục duy nhất của 1 dòng dữ liệu.
Rất vui nếu được trao đổi tiếp cùng bạn!
Theo em thì đề xuất như thế này:
1/ Làm sheetForm cho đỡ tốn công, tốn sức. Chỉ Copy cái tiêu đề qua rồi Transpose xong bố trí lại cho gọn.
2/ Nếu làm UserForm thì sử dụng MultiPage, mỗi nhóm lỗi là 1 Page và sử dụng 1 nút nhập liệu cho 9 nhóm lỗi.
 
Upvote 0
Rất hay bạn Be09 à nha!
Coi như tiến hành chọn fương án (2) đi!

Nhưng còn chuyện trường (cột) có tên là 'Type' đến hơn 600 dòng dữ liệu, làm sao đây ta?
Kéo chuột từ dòng đầu đến cuối chứa dữ liệu cũng fê & tê, nhỉ?
 
Upvote 0
Rất hay bạn Be09 à nha!
Coi như tiến hành chọn fương án (2) đi!

Nhưng còn chuyện trường (cột) có tên là 'Type' đến hơn 600 dòng dữ liệu, làm sao đây ta?
Kéo chuột từ dòng đầu đến cuối chứa dữ liệu cũng fê & tê, nhỉ?
Dear các bác,
Em cảm ơn,
Về trường (cột) có tên là 'Type", mỗi ngày em chỉ có khoảng 50 dòng
Mong dược chi dẫn thêm
 
Upvote 0
Vấn đề là ở chỗ nhập 50 "Type" mỗi ngày nhưng lấy từ rỗ danh sách gồm 647 Type là không dễ với người nhập liệu.
Hướng dẫn tiếp:
Bạn biết tạo ra Form thô không? Nếu biết thì tạo 1 Form
Vẻ lên đó 5 TextBox & 1 ComboBox (dành cho 'Type' & 5 trang MutiPages; Trong đó 4 trang ta ghép 2 nhóm làm 1 & nhóm cuối, nhiều nhất ta để dành hẵn cho nó 1 Mutipage
Trong mỗi MutiPage ta vẻ số TextBox tương ứng cho nó

Sau khi xong bạn đưa lên diển đàn để ai đó chỉnh sửa lại cho bạn.
 
Upvote 0
Rất hay bạn Be09 à nha!
Coi như tiến hành chọn fương án (2) đi!
Em chỉ làm giúp như nội dung của Tiêu đề là SheetForm, còn UserForm thì tốn công quá nên đành gác lại.
..................................
Chào các BAC,
Hằng ngày em phải nhập lỗi theo Type và checking date có sẵn,
Các bác giúp em tạo form nhập lỗi theo Type và Checking date với
Số lượng Cột lỗi khá là nhiều trên 60 cột
Chân thành cảm ơn các bác nhé
Tôi chỉ làm giùm cho cái SheetForm, còn UserForm thì tốn công quá nên đành gác lại.
Lưu ý:
Do không có dữ liệu để thử nên ở sheet Nhap_Lieu tôi gán bằng số thứ tự từ 1 đến 93, bạn nhập nội dung tương ứng vào những chỗ những con số rồi nhấn nút nhập liệu (tại H1) và xem thử kết quả.

Góp ý:
Không nên tô viềng và định dạng cho cả bảng tính như vậy, sẽ làm tăng dung lượng File vô ích mà còn làm cho File bị ì ạch (tôi đã xử lý bỏ viềng và tất cả định dạng).
 

File đính kèm

  • NHAP LOI.xlsm
    29.2 KB · Đọc: 34
Lần chỉnh sửa cuối:
Upvote 0
Em chỉ làm giúp như nội dung của Tiêu đề là SheetForm, còn UserForm thì tốn công quá nên đành gác lại.
..................................

Tôi chỉ làm giùm cho cái SheetForm, còn UserForm thì tốn công quá nên đành gác lại.
Lưu ý:
Do không có dữ liệu để thử nên ở sheet Nhap_Lieu tôi gán bằng số thứ tự từ 1 đến 93, bạn nhập nội dung tương ứng vào những chỗ những con số rồi nhấn nút nhập liệu (tại H1) và xem thử kết quả.

Góp ý:
Không nên tô viềng và định dạng cho cả bảng tính như vậy, sẽ làm tăng dung lượng File vô ích mà còn làm cho File bị ì ạch (tôi đã xử lý bỏ viềng và tất cả định dạng).
Cảm ơn Bác "be09" nhiều,
Em mỗi ngày nhập thêm vào dữ liệu đã có những ngày trước, và ngày mới em nhập đã có sẵn thông tin
No.,TYPE,DATE,NEW,CHECKING ,DATE,QTY trước rùi. Em chỉ nhập lỗi (1,2 .. thui) và ghi chú thêm vào cột Note
Nhờ giúp đỡ
Em cám ơn!
 
Upvote 0
Vấn đề là ở chỗ nhập 50 "Type" mỗi ngày nhưng lấy từ rỗ danh sách gồm 647 Type là không dễ với người nhập liệu.
Hướng dẫn tiếp:
Bạn biết tạo ra Form thô không? Nếu biết thì tạo 1 Form
Vẻ lên đó 5 TextBox & 1 ComboBox (dành cho 'Type' & 5 trang MutiPages; Trong đó 4 trang ta ghép 2 nhóm làm 1 & nhóm cuối, nhiều nhất ta để dành hẵn cho nó 1 Mutipage
Trong mỗi MutiPage ta vẻ số TextBox tương ứng cho nó

Sau khi xong bạn đưa lên diển đàn để ai đó chỉnh sửa lại cho bạn.

Dear các Bác,
Em đã cập nhật như Bác " SA_DQ" hướng dẫn,
Nhờ các Bác giúp chỉnh sửa lại, và hướng dẫn thêm
Em cảm ơn!
 

File đính kèm

  • nhap loi 180722.xlsm
    2.1 MB · Đọc: 8
Upvote 0
(1) Em mỗi ngày nhập thêm vào dữ liệu đã có những ngày trước, và (2) ngày mới em nhập đã có sẵn thông tin
No.,TYPE,DATE,NEW,CHECKING ,DATE,QTY trước rùi. Em chỉ nhập lỗi (1,2 .. thui) và ghi chú thêm vào cột Note
(1) Đúng như mình đã dự đoán; Hàng ngày bạn sẽ fải nhập thêm dữ liệu vô 1 dòng nào đó; Để vậy bạn cần tìm hay định ra mã duy nhất của dòng đó
Mã này theo mình sẽ gắn với ngày tháng năm của dòng & 'Type' của dòng đó.
Mà danh sách 'Type' của bạn đến hơn năm sáu trăm thì mệt đây!

Cho nên ta f ải thảo luận thông suốt chuyện này mới tính đến chuyện làm thứ gì khác trên trang tính dữ liệu của bạn
Hình như trang danh sách các 'Type' của bạn ta có thể chia ra theo các nhóm; Có nghĩa là ta tìm cách chia để trị chuyện này mới xong!

(2) Khi muốn nhập mà mình gọi là fần chung này ta nhất thiết fải tạo mã duy nhất của dòng; Nếu không làm vậy sẽ có chuyện thông số của ngày này sẽ nhập cho ngày khác & CSDL của bạn nhanh chóng thành đống rác thúi mà thôi!

Nếu bạn không quan tâm đến chuyện này thì ta nên tạm biệt nhau tại đây thì hơn!

Chúc ngày cuối tuần vui vẻ!
 
Upvote 0
Dear các Bác,
Em đã cập nhật như Bác " SA_DQ" hướng dẫn,
Nhờ các Bác giúp chỉnh sửa lại, và hướng dẫn thêm
Em cảm ơn!
Bài 7 tôi góp ý thế này:
Không nên tô viềng và định dạng cho cả bảng tính như vậy, sẽ làm tăng dung lượng File vô ích mà còn làm cho File bị ì ạch (tôi đã xử lý bỏ viềng và tất cả định dạng).
1/ Sao bạn không chú ý đến nội dung góp ý, bạn xem File của tôi thì sẽ rõ dung lượng chỉ có 28KB, còn File bạn chưa có dữ liệu đã lên đến 2MB rồi, khi mở File bạn không thấy nó rất chậm à. Qua thời gian sử dụng thì bạn sẽ thấy khổ tâm vì nó, mỗi lần lưu chờ uống xong ly Coffee rồi nhập tiếp.
2/ Bạn chờ Bác " SA_DQ" hay thành viên khác trợ giúp cái UserForm, tôi bận quá nên chưa thể giúp được.
 
Lần chỉnh sửa cuối:
Upvote 0
Mình vừa xem file có Form của bạn; Ta nên gán tên các TextBox hay nhãn 1 cách khoa học hơn để dễ bề trong khi viết Code sau này;

Mình đưa file này lân bạn tham khảo & thống nhất nhau cách làm.

[Xin xem file tại bài #19)
 
Lần chỉnh sửa cuối:
Upvote 0
Bài 7 tôi góp ý thế này:

1/ Sao bạn không chú ý đến nội dung góp ý, bạn xem File của tôi thì sẽ rõ tôi dung lượng chỉ có 28KB, còn File bạn chưa có dữ liệu đã lên đến 2MB rồi, khi mở File bạn không thấy nó rất chậm à. Qua thời gian sử dụng thì bạn sẽ thấy khổ tâm vì nó, mỗi lần lưu chờ uống xong ly Coffee rồi nhập tiếp.
2/ Bạn chờ Bác " SA_DQ" hay thành viên khác trợ giúp cái UserForm, tôi bận quá nên chưa thể giúp được.
Em xin lỗi vì không để ý tới lời góp ý,
Em cảm ơn!
 
Upvote 0
Em xin lỗi vì không để ý tới lời góp ý,
Em cảm ơn!
Dear Bác "SA_DQ",
Em gửi file đã cập nhật thêm,
Phần dữ liệu của em có cột "Type" khác nhau, nhưng đôi lúc cũng giống nhau
Thường em nhập tay, sử dụng Ctr F rùi tìm theo cột "Checking date", vì cột này sẽ khác nhau
Mong được chỉ dẫn thêm!
 

File đính kèm

  • Nhap Loi-18072101.xls
    537 KB · Đọc: 10
Upvote 0
Vậy là coi như Form đã có các TextBox cần thiết
1./ Còn chưa có là các nút lệnh để vận hành; Nhưng chúng ta đến đây cần quan tâm đến chuyện xác lập mã duy nhất của từng dòng dữ liệu.
Theo như mình hiểu thì mã duy nhất sẽ có dạng: YMD_Type
Y là chữ cái biểu thị cho năm, như 2018 là H, năm tới là I
M kí số hay kí tự biểu thị cho tháng; Như tháng 9 sẽ là '9' & tháng 10 là 'A'
D kí tự số hay chữ biểu thị ngày, như ngày 9 là '9'; ngày 17 sẽ là 'Q' & ngày 19 sẽ là 'S', . . .
[Bạn chớ lo rằng sẽ fức tạp vì có hàm tự tạo hỗ trợ cho việc qui đổi này.]
2./ Vấn đề còn lại là gắn các 'Type' vôĐể thực hiện dễ việc này, mình xin đề xuất các 'type' chia thành các nhóm như sau:
Nhóm:
AV
IV
NV-D
NV-Y
NC-Z
V
Trong mỗi nhóm ta có các 'fân loại' khác nhau như
AV06GH-P
AV06JA-P
AV18AFA-P
AVP-6051
AVP-6059
AVP-6100
AVP-6286
AVP-6604
AVP-6609
AVP-6610
AVP-6617
AVP-7040
AVP-8014HF
AVP-8032
AVP-8235
AVP-8282
AVP-9008
AVP-9041
AVP-9086
Như vậy ta xài 2 ComboBox fụ thuộc nhau để xác lập 1 'Type'
Sáng mai mình sẽ đưa file lên, (tại bài đăng này luôn) bạn vận hành thử 2 cái ComboBox này & cho í kiến
3./ Ở cột (trường 'Date' bạn đang nhập 6 kí số gồm 2 kí số đầu chỉ năm, 2 kế tiếp chỉ tháng & 2 cuối chỉ ngày.
Điều này cũng được, nhưng bạn sẽ khó xài trường này khi fải thống kê hay báo cáo theo thời gian (tuần, tháng, quí, nữa năm,. . . )
Nếu nói rằng bạn không cần thiết những thống kê như vậy sau này, thì ta cứ tiếp tục như bạn đã làm; Bằng ngược lại thì nên nhập theo kiếu 'MM/dd/yyyy' cho nó lành về sau.
Vì điều này sẽ quyết định đến chuyện tạo mã duy nhất cho từng dòng dữ liệu, nên ta cần thống nhất ngay bây giờ.

Thân!
 
Upvote 0
Vậy là coi như Form đã có các TextBox cần thiết
1./ Còn chưa có là các nút lệnh để vận hành; Nhưng chúng ta đến đây cần quan tâm đến chuyện xác lập mã duy nhất của từng dòng dữ liệu.
Theo như mình hiểu thì mã duy nhất sẽ có dạng: YMD_Type
Y là chữ cái biểu thị cho năm, như 2018 là H, năm tới là I
M kí số hay kí tự biểu thị cho tháng; Như tháng 9 sẽ là '9' & tháng 10 là 'A'
D kí tự số hay chữ biểu thị ngày, như ngày 9 là '9'; ngày 17 sẽ là 'Q' & ngày 19 sẽ là 'S', . . .
[Bạn chớ lo rằng sẽ fức tạp vì có hàm tự tạo hỗ trợ cho việc qui đổi này.]
2./ Vấn đề còn lại là gắn các 'Type' vôĐể thực hiện dễ việc này, mình xin đề xuất các 'type' chia thành các nhóm như sau:
Nhóm:
AV
IV
NV-D
NV-Y
NC-Z
V
Trong mỗi nhóm ta có các 'fân loại' khác nhau như
AV06GH-P
AV06JA-P
AV18AFA-P
AVP-6051
AVP-6059
AVP-6100
AVP-6286
AVP-6604
AVP-6609
AVP-6610
AVP-6617
AVP-7040
AVP-8014HF
AVP-8032
AVP-8235
AVP-8282
AVP-9008
AVP-9041
AVP-9086
Như vậy ta xài 2 ComboBox fụ thuộc nhau để xác lập 1 'Type'
Sáng mai mình sẽ đưa file lên, (tại bài đăng này luôn) bạn vận hành thử 2 cái ComboBox này & cho í kiến
3./ Ở cột (trường 'Date' bạn đang nhập 6 kí số gồm 2 kí số đầu chỉ năm, 2 kế tiếp chỉ tháng & 2 cuối chỉ ngày.
Điều này cũng được, nhưng bạn sẽ khó xài trường này khi fải thống kê hay báo cáo theo thời gian (tuần, tháng, quí, nữa năm,. . . )
Nếu nói rằng bạn không cần thiết những thống kê như vậy sau này, thì ta cứ tiếp tục như bạn đã làm; Bằng ngược lại thì nên nhập theo kiếu 'MM/dd/yyyy' cho nó lành về sau.
Vì điều này sẽ quyết định đến chuyện tạo mã duy nhất cho từng dòng dữ liệu, nên ta cần thống nhất ngay bây giờ.

Thân!
Dear Bac,
Về vấn đề để xác lập 1 'Type', có ngày em có 2 Type giống nhau ( mỗi Type khác nhau chỉ ở Checking date), em thí dụ
ngày 180722 có 2 type là: AVP-9086 ( checking date là :C5) và AVP-9086 ( checking date là :C3)
Như vậy có khó để nhận dạng 1 type không Bác,
Còn vấn đề ngày tháng do công ty em quy định thế rùi, chắc không đổi được
Nhờ hướng dẫn thêm

Em cảm ơn!
 
Upvote 0
(1) Nói như bạn như vậy thì fải đưa dữ liệu cột 'Checking date' vô mã duy nhất rồi.
& tốt nhất sẽ fải là YMDCType; Ở đây Y là kí tự chỉ ra năm; M chỉ tháng & D chỉ ngày; C là 'checking date' & cuối là các từ để chỉ ra 'Type' của dữ liệu đó.

(2) Bài bên trên nào đó bạn có nói là thường nhập trước dữ liệu của 7 cột đầu sẵn vô CSDL;
Khi nào có số liệu 'lỗi' trong tay, bạn mới tìm & nhập những lỗi từ bảng kết quả nhận được vô cột lỗi tương ứng của dòng dữ liệu đó..
Như vậy nên CSDL của bạn sẽ có rất nhiều dòng trống (không có dữ liệu từ cột thứ 8 trở về sau)
Vô hình chung bạn làm vậy là tạo sự nặng nề cho file. Chuyện này là không cần thiết; Bạn có thể bỏ khâu nhập khống này không?
Có nghĩa là khi & chỉ khi có danh sách lỗi của 1 ngày nào đó, với 1 'type' & 1 'checking date' cụ thể ta mới tiến hành nhập dòng dữ liệu đó vô.

Rất vui được tiếp tục trao đổi cùng bạn.
 
Upvote 0
Vậy là coi như Form đã có các TextBox cần thiết
...............................
2./ Vấn đề còn lại là gắn các 'Type' vôĐể thực hiện dễ việc này, mình xin đề xuất các 'type' chia thành các nhóm như sau:
..........................
Như vậy ta xài 2 ComboBox fụ thuộc nhau để xác lập 1 'Type'
..............................
Thân!
Em nhất trí dùng ComboBox Phụ thuộc.
1/ Em thiết kế lại theo hướng này để cho dễ sử dụng ComboBox Phụ thuộc nhau nhập liệu búa sua theo chiều dọc.
2/ Muốn làm theo biểu quy định thì dùng PivotTable xoay nó lại.
Có như vậy thì việc nhập liệu sẽ nhanh chóng, đỡ mất thời gian và việc tổng hợp lỗi theo nhóm là quá dễ dàng.
 

File đính kèm

  • Nhap Loi-18072101.xls
    330.5 KB · Đọc: 26
Upvote 0
Theo hướng nhập liệu từ Form thì file đã đến bước này: Tìm xem mã duy nhất nào đó đã có chưa?

(Xin fép được tháo file bài trên, thu hồi tài nguyên)
 

File đính kèm

  • Form.rar
    40 KB · Đọc: 26
Upvote 0
Theo hướng nhập liệu từ Form thì file đã đến bước này: Tìm xem mã duy nhất nào đó đã có chưa?

(Xin fép được tháo file bài trên, thu hồi tài nguyên)
Chào các Bác,
Về vấn đề dòng trống, do dữ liệu em lấy từ bộ phận khác,
Nếu bỏ ra khi nhập liệu có rất nhiều mã không có lỗi, mình nhập vậy em nghi lâu hơn
Phần "mã duy nhất" và "New" em chưa hiểu có ý nghĩa thế nào
Chân thành cảm ơn
Mong được giúp đỡ thêm
Thân
Bài đã được tự động gộp:

Em nhất trí dùng ComboBox Phụ thuộc.
1/ Em thiết kế lại theo hướng này để cho dễ sử dụng ComboBox Phụ thuộc nhau nhập liệu búa sua theo chiều dọc.
2/ Muốn làm theo biểu quy định thì dùng PivotTable xoay nó lại.
Có như vậy thì việc nhập liệu sẽ nhanh chóng, đỡ mất thời gian và việc tổng hợp lỗi theo nhóm là quá dễ dàng.
Em cảm ơn Bác,
Nhưng file này em vẫn chưa hiểu lắm,
Về chỗ nhập lỗi, và cách thức nhập như thế nào
Nhờ hướng dẫn thêm
Thân
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom