Kiểm tra nhập liệu tổng và chi tiết đúng hay sai (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

kobebryant

Thành viên thường trực
Tham gia
7/8/09
Bài viết
248
Được thích
28
Chào mọi người,
Hiện nay mình bị tình trạng 1 người nhập số ở mảng TỔNG QUÁT 1 đằng. Người nhập mảng CHI TIẾT thì ra 1 nẻo. Mình muốn tránh tình trạng này bằng cách thêm cột check cho người nhập Chi tiết để dễ dàng phát hiện sai số như sau:
Mình xin đính chính lại diễn giải cho dễ hiểu, vì lúc post bài này mình ngồi nghĩ cả ngày nên diễn giải hơi rối
1. Khi bên TỔNG QUÁT có hóa đơn nào được đánh dấu "X" ở cột H (là được nhập kho)
2. Bên chi tiết sẽ phải nhập chi tiết mặt hàng sao cho khớp với giá trị của hóa đơn đó. Mỗi hóa đơn là 1 mặt hàng, nhập số lượng chưa đủ thì sẽ hiện số chưa đủ còn lại ở cột Q (check)
3. Khi nhập đủ chi tiết giá trị từng loại trên hóa đơn thì tiếp tục tự động dòng dưới xuất hiện hóa đơn tiếp theo được đánh dấu X để mình nhập
4. Số hóa đơn và ngày là điều kiện sao cho tránh trường hợp nhầm cùng số hóa đơn nhưng khác ngày.
Diễn giải trên diễn đàn hơi khó hiểu mình xin đính kèm file. Nếu chạy được VBA thì tốt quá. Mình xin cám ơn diễn đàn
 

File đính kèm

Lần chỉnh sửa cuối:
Chuyện này fải xài macro sự kiện, bạn chịu không?
Để làm được chuyện này, CSDL của bạn cần sửa đổi & bổ sung 1 số mình cho là khuyết tật như sau:
(1) Vùng cột [K:L] nhiều ô trống vậy là không nên; Do rất khó thao tác bỡi công thức hay VBA
(2) Hai bảng dữ liệu tổng quát & chi tiết hiện bạn đang thực hiện liên hệ với nhau thông qua số fiếu & ngày fát sinh số fiếu; Vậy sẽ bất tiện trong khi xử lí số liệu
Nên chăng ta xài 1 mã duy nhất liên hệ 1 nhiều từ bảng 'Tổng quát' sang bảng 'Chi tiết'
Mình gợi í bạn xài mã liên hệ như sau:
PHP:
'
Ngày        Fiếu   Mã QH       '
7/4/2017     1     G74001
7/5/2017     1     G75001
7/5/2017     2     G75002
7/6/2017     1     G76001
7/6/2017     2     G76002
7/10/2017    1     G7A001
7/10/2017    2     G7A002
7/13/2017    1     G7D001
. . .      . . . . .     . . . .
Ở đây G chỉ cho năm 2017; năm 2018 sẽ là H
A trong mã đại diện cho tháng 10 hay ngày 10,. . . D là ngày 13 trong tháng
Chuyện tạo ra mã này cũng như fiên dịch từ mã QH này ra ngày & số thứ tự hóa đơn trong ngày đó cũng sẽ tiện & được tự động hoàn toàn bỡi VBA.
Lúc đó thay vì bảng chi tiết ta có 2 cột, sẽ còn 1 cột chứa mã QH này mà thôi.

Mong bạn sẽ có fản hồi sớm!
 
Chuyện này fải xài macro sự kiện, bạn chịu không?
Để làm được chuyện này, CSDL của bạn cần sửa đổi & bổ sung 1 số mình cho là khuyết tật như sau:
(1) Vùng cột [K:L] nhiều ô trống vậy là không nên; Do rất khó thao tác bỡi công thức hay VBA
(2) Hai bảng dữ liệu tổng quát & chi tiết hiện bạn đang thực hiện liên hệ với nhau thông qua số fiếu & ngày fát sinh số fiếu; Vậy sẽ bất tiện trong khi xử lí số liệu
Nên chăng ta xài 1 mã duy nhất liên hệ 1 nhiều từ bảng 'Tổng quát' sang bảng 'Chi tiết'
Mình gợi í bạn xài mã liên hệ như sau:
PHP:
'
Ngày        Fiếu   Mã QH       '
7/4/2017     1     G74001
7/5/2017     1     G75001
7/5/2017     2     G75002
7/6/2017     1     G76001
7/6/2017     2     G76002
7/10/2017    1     G7A001
7/10/2017    2     G7A002
7/13/2017    1     G7D001
. . .      . . . . .     . . . .
Ở đây G chỉ cho năm 2017; năm 2018 sẽ là H
A trong mã đại diện cho tháng 10 hay ngày 10,. . . D là ngày 13 trong tháng
Chuyện tạo ra mã này cũng như fiên dịch từ mã QH này ra ngày & số thứ tự hóa đơn trong ngày đó cũng sẽ tiện & được tự động hoàn toàn bỡi VBA.
Lúc đó thay vì bảng chi tiết ta có 2 cột, sẽ còn 1 cột chứa mã QH này mà thôi.

Mong bạn sẽ có fản hồi sớm!
Không ngờ bạn giúp mình sớm vậy. Mình rất cảm kích:
- Mã hóa kiểu này đến khi kiểm tra đối chiếu như thế nào bạn, còn nếu cột Mã QH để làm cột trung gian thì cứ lập thoải mái.
- Cột K:L có ô trống vậy chẳng qua là do hóa đơn đó giá trị các hàng hóa chi tiết chưa bằng với tổng quát thì nó trống thôi. Nếu khó khăn thì cho nó hiện số Hóa đơn với ngày mà nó thuộc luôn thì cũng không sao (vì mình nghĩ vậy là đơn giản, sau đó mình cũng phải lấp ô trống đó = với giá trị ô trên). Nhìn vậy để biết 1 hóa đơn có bao nhiêu mặt hàng chi tiết, nhưng đã có cột Số thứ tự thì không sao hết.
- File này chỉ có mấy dòng chứ thực ra đầy đủ gần cả trăm dòng nên ko biết theo sự kiện có chậm máy ko. Nếu chậm thì cứ cho nó xử lý 1 loạt xong sai hay lệch chỗ nào thì mình xử lý thủ công ngay chi tiết hóa đơn đó cũng được. Còn vẫn nhanh hơn thả sẵn 1 đống dòng công thức excel thì chiến luôn bạn
 
Tạm vận hành file này thử coi; Có gì mai ta giải tiếp!
 

File đính kèm

Chào mọi người,
Hiện nay mình bị tình trạng 1 người nhập số ở mảng TỔNG QUÁT 1 đằng. Người nhập mảng CHI TIẾT thì ra 1 nẻo. Mình muốn tránh tình trạng này bằng cách thêm cột check cho người nhập Chi tiết để dễ dàng phát hiện sai số như sau:
- STT là 1, kèm số hóa đơn và ngày phải đi đôi với nhau (tránh cùng số hóa đơn nhưng khác ngày)
- Nhập chi tiết, SL, ĐG, Giá trị. Khi giá trị lệch với bên TỔNG QUÁT thì sẽ hiện số lệch. Lệch nên tiếp tục nhập
- Dòng tiếp theo STT và Số Hóa đơn ko hiện ra do vẫn còn lệch. Nhập Chi tiết tiếp đến khi nào hết lệch hiện "ok" thì sẽ nhảy STT, Số HĐ, Ngày của đơn tiếp theo

Diễn giải trên diễn đàn hơi khó hiểu mình xin đính kèm file. Nếu chạy được VBA thì tốt quá. Mình xin cám ơn diễn đàn
Bạn xem file này, nhập lần lượt giá trị vào cột P.
Muốn VBA thì tính tiếp.
 

File đính kèm

Bạn xem file này, nhập lần lượt giá trị vào cột P.
Muốn VBA thì tính tiếp.
Dạ anh ơi, nếu cột nhập kho có đánh dấu "x" thì bên chi tiết mới nhập chi tiết, còn ko nhập kho thì ko cần nhập chi tiết. Như của anh là nó hiểu nhập Chi tiết sao cho tất cả phải khớp với Tổng quát thì phải. Mong thêm VBA của anh
Em bổ sung là chưa hiểu bẫy lỗi cùng số hóa đơn nhưng khác ngày lắm ạ. Em thử cho cùng số hóa đơn nhưng khác ngày nó kì kì sao đó
 
Lần chỉnh sửa cuối:
- STT là 1, kèm số hóa đơn và ngày phải đi đôi với nhau (tránh cùng số hóa đơn nhưng khác ngày)
- Nhập chi tiết, SL, ĐG, Giá trị. Khi giá trị lệch với bên TỔNG QUÁT thì sẽ hiện số lệch. Lệch nên tiếp tục nhập
- Dòng tiếp theo STT và Số Hóa đơn ko hiện ra do vẫn còn lệch. Nhập Chi tiết tiếp đến khi nào hết lệch hiện "ok" thì sẽ nhảy STT, Số HĐ, Ngày của đơn tiếp theo
Tôi hiểu theo câu này, bạn đâu có nói tới cột H dấu x gì đâu?
Nhập Chi tiết tiếp đến khi nào hết lệch hiện "ok" thì sẽ nhảy STT, Số HĐ, Ngày của đơn tiếp theo.

VBA thì khó vì cột H, bạn nhập dòng dưới trước, sau này bạn nhập dòng trên thì sao?
 
Bạn xem file này, nhập lần lượt giá trị vào cột P.
Muốn VBA thì tính tiếp.
Hình như chưa đúng lắm anh ơi, ý của em ở cột nhập ko có đánh dấu thì mới nhập chi tiết. Khi nhập chi tiết cho từng hóa đơn, mỗi chi tiết chưa đủ thì mới nhập tiếp sao cho đúng với số tổng thì tiếp tục nhập cho số hóa đơn mới chứ ko phải là có sẵn các chi tiết rồi mình nhập vào cột P
 
Tôi hiểu theo câu này, bạn đâu có nói tới cột H dấu x gì đâu?
Nhập Chi tiết tiếp đến khi nào hết lệch hiện "ok" thì sẽ nhảy STT, Số HĐ, Ngày của đơn tiếp theo.

VBA thì khó vì cột H, bạn nhập dòng dưới trước, sau này bạn nhập dòng trên thì sao?
Dạ do thiếu sót em quên nói tới cột H phải có đánh dấu thì mới nhập chi tiết. Theo đó khi cột H đánh dấu nhập kho thì bên Chi tiết mình nhập tuần tự chi tiết sao cho tổng chi tiết bằng hóa đơn rồi tiếp tục nhập Chi tiết cho hóa đơn được đánh dấu X tiếp theo
Cột không đánh dấu X nhập kho thì ko cần nhập chi tiết
 
Dạ do thiếu sót em quên nói tới cột H phải có đánh dấu thì mới nhập chi tiết. Theo đó khi cột H đánh dấu nhập kho thì bên Chi tiết mình nhập tuần tự chi tiết sao cho tổng chi tiết bằng hóa đơn rồi tiếp tục nhập Chi tiết cho hóa đơn được đánh dấu X tiếp theo
Cột không đánh dấu X nhập kho thì ko cần nhập chi tiết
Chi tiết từ cột M đến cột P bạn cứ nhập, chỉ khi nào cột Q=0 thì STT nhảy, Cột H bạn phải nhập thứ tự các dòng mới làm được.
---------------------------------------
 

File đính kèm

Lần chỉnh sửa cuối:
Chào mọi người,
Hiện nay mình bị tình trạng 1 người nhập số ở mảng TỔNG QUÁT 1 đằng. Người nhập mảng CHI TIẾT thì ra 1 nẻo. Mình muốn tránh tình trạng này bằng cách thêm cột check cho người nhập Chi tiết để dễ dàng phát hiện sai số như sau:
- STT là 1, kèm số hóa đơn và ngày phải đi đôi với nhau (tránh cùng số hóa đơn nhưng khác ngày)
- Nhập chi tiết, SL, ĐG, Giá trị. Khi giá trị lệch với bên TỔNG QUÁT thì sẽ hiện số lệch. Lệch nên tiếp tục nhập
- Dòng tiếp theo STT và Số Hóa đơn ko hiện ra do vẫn còn lệch. Nhập Chi tiết tiếp đến khi nào hết lệch hiện "ok" thì sẽ nhảy STT, Số HĐ, Ngày của đơn tiếp theo

Diễn giải trên diễn đàn hơi khó hiểu mình xin đính kèm file. Nếu chạy được VBA thì tốt quá. Mình xin cám ơn diễn đàn
Góp ý cho bạn:
1/ Cấu trúc bảng chi tiết của bạn lập không rõ ràng.
2/ Nên có 1 sheet thống kê danh mục các loại sắt, đơn vị tính, đơn giá.
3/ Nên có 1 sheet làm SheetForm với cái mẫu là mẫu hóa đơn bán hàng, tại sheet này dùng danh mục các loại sắt chọn và nhậu liệu cho chính xác, mà không cần phải gõ để nhập liệu khi tổng hợp sẽ dễ bị sai (đi tìm nguyên nhân sai sẽ mất rất nhiều thời gian).
4/ Sau cùng dùng PivotTable để tổng hợp theo số hóa đơn, ngày thì việc tìm nguyên nhân sai sẽ quá dễ dàng.

Nếu muốn đi theo hướng này thì bạn phải cung cấp 1 mẫu hóa đơn để thiết kế SheetForm.
 
Chi tiết từ cột M đến cột P bạn cứ nhập, chỉ khi nào cột Q=0 thì STT nhảy, Cột H bạn phải nhập thứ tự các dòng mới làm được.
---------------------------------------
Chờ chỉnh lại file
Hay quá anh ơi vậy cũng tốt quá. Cho em hỏi có cách nào đánh dấu X bên tổng quát rồi bên chi tiết nó tự động nó liệt kê từ trên xuống dưới luôn ko. Như cách đánh số này em thấy có vẻ hay hơn X vì tránh được tình trạng cùng số hóa đơn nhưng khác ngày.
Sáng mai anh cho em xin VBA luôn nhé. Chúc anh ngủ ngon
 
Góp ý cho bạn:
1/ Cấu trúc bảng chi tiết của bạn lập không rõ ràng.
2/ Nên có 1 sheet thống kê danh mục các loại sắt, đơn vị tính, đơn giá.
3/ Nên có 1 sheet làm SheetForm với cái mẫu là mẫu hóa đơn bán hàng, tại sheet này dùng danh mục các loại sắt chọn và nhậu liệu cho chính xác, mà không cần phải gõ để nhập liệu khi tổng hợp sẽ dễ bị sai (đi tìm nguyên nhân sai sẽ mất rất nhiều thời gian).
4/ Sau cùng dùng PivotTable để tổng hợp theo số hóa đơn, ngày thì việc tìm nguyên nhân sai sẽ quá dễ dàng.

Nếu muốn đi theo hướng này thì bạn phải cung cấp 1 mẫu hóa đơn để thiết kế SheetForm.
1. Mình cũng chưa hiểu không rõ ràng là sao
2. Sheet thống kê danh mục, mã hàng hóa: cái này mình cực kỳ cần luôn đó, đã có suy nghĩ trong đầu rồi nhưng chưa biết ứng dụng sao cho hợp lý. Mình cần là giống searchable suggest list để tránh trường hợp nhập sai mã hàng, mình đã làm theo hướng dẫn các kiểu rồi nhưng có vẻ không được như ý lắm. Thấy A-Tool làm được rất ưng ý, nhưng cao siêu quá ko biết làm.
3. Như bạn nói chính xác
4. Giải quyết khâu 3 thì ko cần khâu 4.
 
1. Mình cũng chưa hiểu không rõ ràng là sao
2. Sheet thống kê danh mục, mã hàng hóa: cái này mình cực kỳ cần luôn đó, đã có suy nghĩ trong đầu rồi nhưng chưa biết ứng dụng sao cho hợp lý. Mình cần là giống searchable suggest list để tránh trường hợp nhập sai mã hàng, mình đã làm theo hướng dẫn các kiểu rồi nhưng có vẻ không được như ý lắm. Thấy A-Tool làm được rất ưng ý, nhưng cao siêu quá ko biết làm.
3. Như bạn nói chính xác
4. Giải quyết khâu 3 thì ko cần khâu 4.
Bạn có thể tham khảo cách làm tương tự như File trong bài viết sau (chỉ thay đổi một tí theo mẫu của bạn):

http://www.giaiphapexcel.com/diendan/threads/theo-dõi-và-truy-vấn-đơn-thuốc-nơi-phòng-khám-bệnh.126073/
 

File đính kèm

VBA thì tôi chỉ nghĩ ra được thế này:
Cột H phải nhập số thứ tự không trùng.
Đầu tiên bạn nhập số 1 vào ô J4
Các cột từ M đến P phải nhập thủ công.
Hết thuốc!
Dạ để em áp thực tế xem cái nào giúp nhanh hơn thì sẽ dùng. Cám ơn anh
 
Web KT

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

Back
Top Bottom