Tìm số không liên tục trong dãy số

Liên hệ QC
OK, tôi có thể bổ sung chức năng tìm theo quy luật, và tất nhiên, các quyển hóa đơn của bạn cũng phải được đánh số theo 1 quy luật thống nhất.
Bạn hãy cho tôi biết những quy luật của nó là gì.
Theo biểu của bạn thì mỗi quyển chỉ có 50 tờ được bắt đầu bằng 01, kết thúc 50 hoặc bắt đầu bằng 51, kết thúc 00. Đây là 1 quy luật, tôi có thể tạo chức năng tự động phát hiện và fix luôn đối với trường hợp này.

Đúng như bạn nói, vì sáng nay mình lấy cái đóng hóa đơn ra xem cách đánh số thứ tự của các hóa đơn như thế nào. Kết quả là:
Vi dụ có 200 số hóa đơn như vậy là có 4 cuốn.
Quyển 1 là CT/2008N:01 có số từ 000001 đến 000050
Quyển 2 là CT/2008N:02 có số từ 000051 đến 000100
Quyển 3 là CT/2008N:03 có số từ 000101 đến 000150
Quyển 4 là CT/2008N:04 có số từ 000151 đến 000200

Từ đây mình rút ra quy luật là: 1 quyển hóa đơn số bắt đầu 01 kết thúc là 50; bắt đàu là 51 kết thúc 00.

Nên mình nghĩ kiểm tra kiểm tra nếu số đầu tiên của 1 quyển mà không bắt đầu bằng 01 hoặc 51 thì lấy số đó trừ đi 01 hoặc 51 thì chính là sso thiếu và kiểm tra số ở cuối cũng như vậy.

Ở đay mình chỉ nói tới hóa đơn mình lên cục thuế để mua, còn hóa đơn đăng ký tự in thì tùy quy luật của người đăng ký muốn đánh số như thế nào đó thì mình không giám chắc theo quy luật này.

Mình nhờ bạn thêm 1 vấn đề nữa là tính ra được tổng số hóa đơn đã sử dụng là bao nhiêu ?

Hiện tại mình dùng hàm Countif() để đếm trên cột số hóa đơn có bao nhiêu số không trùng, bao nhiêu số trùng 2 lần, bao nhiêu số trung 3 lần, bao nhiêu số trùng 4 lần, bao nhiêu số trung 5 lần,....,...(thông thường 1 hóa đơn chỉ tách ra kê khai 4 lần là hết rùi, có thể có trường hợp khai 5 lần, hoặc ....)

Sau đó trên cột kết quả của hàm Countif mới vừa tìm được mình lại dùng countif() đếm có bao nhiêu số 1, bao nhiêu số 2, bao nhiêu số 3,.....rùi lấy kết quả có bao nhiêu số 2 dem chia cho 2, bao nhiêu sso 3 đem chia 3, .....Sau đó tổng lại thì được tổng số hóa đon đã dùng là bao nhiêu.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Đúng như bạn nói, vì sáng nay mình lấy cái đóng hóa đơn ra xem cách đánh số thứ tự của các hóa đơn như thế nào. Kết quả là:
Vi dụ có 200 số hóa đơn như vậy là có 4 cuốn.
Quyển 1 là CT/2008N:01 có số từ 000001 đến 000050
Quyển 2 là CT/2008N:02 có số từ 000051 đến 000100
Quyển 3 là CT/2008N:03 có số từ 000101 đến 000150
Quyển 4 là CT/2008N:04 có số từ 000151 đến 000200

Từ đây mình rút ra quy luật là: 1 quyển hóa đơn số bắt đầu 01 kết thúc là 50; bắt đàu là 51 kết thúc 00.

Nên mình nghĩ kiểm tra kiểm tra nếu số đầu tiên của 1 quyển mà không bắt đầu bằng 01 hoặc 51 thì lấy số đó trừ đi 01 hoặc 51 thì chính là sso thiếu và kiểm tra số ở cuối cũng như vậy.

Ở đay mình chỉ nói tới hóa đơn mình lên cục thuế để mua, còn hóa đơn đăng ký tự in thì tùy quy luật của người đăng ký muốn đánh số như thế nào đó thì mình không giám chắc theo quy luật này.
Với quy luật này thì tôi đã phát hiện ra rồi và cách xử lý cũng rất đơn giản như bạn đã nói, tuy nhiên với các loại hóa đơn khác thì chưa biết thế nào, về phương pháp thì vẫn có thể xây dựng được dạng tổng quát nhưng phải dùng đến nhiều biện pháp loại trừ, rất lằng nhằng.
Tạm thời tôi sẽ sửa lại cho bạn cách tìm tự động với trường hợp này thôi, còn trường hợp khác có lẽ bạn phải tự làm hoặc xem code của tôi để chỉnh sửa cho phù hợp.
Vấn đề tìm ra số hóa đơn đã phát hành thì trong Excel đã có hàm đó rồi thì phải hoặc bạn tìm trên diễn đàn có cách tìm tổng các số không trùng nhau.
 
OK, dù sao cũng cám ơn bạn hoa35ktxd và các thành viên khác, cái form cuối cùng làm mình thỏa mãn rất nhiều. Còn tính tổng các số hóa đơn đã dùng thì mình làm bằng tay cũng được, không quan trọng lắm. Cố gắng giúp mình cái vụ 045301. (báo cáo sếp vừa ký xong, đã trễ hạn 3 ngày, đành chịu).

Một lần nữa cám ơn các bạn rất nhiều. Chúc 1 ngày cuối tuần vui vẻ.
 
Lần chỉnh sửa cuối:
Thêm cái này nữa cho phê lòi mắt luôn.
Lọc ra tất cả các hóa đơn chưa phát hành theo chuẩn: 50 hóa đơn/quyển
 

File đính kèm

Thêm cái này nữa cho phê lòi mắt luôn.
Lọc ra tất cả các hóa đơn chưa phát hành theo chuẩn: 50 hóa đơn/quyển

Ái chà chà ! Không hiểu sao mình test thì nó ra tói 64 cái hóa đơn luôn.

Ái chà chà ! Không hiểu sao mình test thì nó ra tói 64 cái hóa đơn luôn.

Ok, hiểu rùi. Cái này ngon lành đây. Tìm được tất tần tật. Nhưng đừng bỏ cái phần tìm thủ công đi bạn ơi. Cái đó mình thấy hay đấy, ban đừng bỏ đi. Kiểm tra 2 cách bao giờ cũng hay hơn 1 cách mà.

Nhưng sao khi nhấn tìm nhiều lần thì nó lại hiện kết quả thành nhiểu lần mà không Clear dòng kết quả để in lại chổ đó mỗi lần tìm lại. (phải xóa dòng kết quả bằng tay thì mới cho kết quả mói được)
 
Chỉnh sửa lần cuối bởi điều hành viên:
Đúng rồi: Ngoài 29 cái theo như ban đầu thì quyển UV/2007N:00012 còn thiếu các số từ 551 đến 560 = 10 số; quyến LV/2008N:00377 bạn mới phát hành đến số 18825 còn từ 18826 đến 18850 chưa phát hành = 25 số, tổng cộng 35 số thêm + 29 số cũ = 64.
Tôi nói lại là cái này làm theo quy luật 50 hóa đơn/1 quyển. Số bắt đầu là 01 hoặc 51 số cuối là 00 hoặc 50. Phải có quy luật thì mới tìm tự động được như thế, nếu không thì chỉ có cách tìm thủ công như trước thôi.
Thêm động tác xóa đó thì có gì đâu, bạn chịu khó nghiên cứu đi, kể cả gộp 2 cái Form đó lại, thêm bớt chức năng cũng không khó đâu.
 
Lần chỉnh sửa cuối:
Đúng rồi: Ngoài 29 cái theo như ban đầu thì quyển UV/2007N:00012 còn thiếu các số từ 551 đến 560 = 10 số; quyến LV/2008N:00377 bạn mới phát hành đến số 18825 còn từ 18826 đến 18850 chưa phát hành = 25 số, tổng cộng 35 số thêm + 29 số cũ = 64.

Mình chợt nghỉ ra điều này, số 551 đến số 560 là số cuối của năm trước, còn 18826 đến 18850 là số chưa phát hành => như vậy bạn có thể cho vào 1 điều kiện nữa là số kết thúc của năm trước là 560 để khỏi phải đọc 551 đến 560 là số thiếu. Được như thế này nữa là quá hoàn hảo => hết ý kiến luôn.
 
Lần chỉnh sửa cuối:
Chỉnh sửa lần cuối bởi điều hành viên:
Đây là cách làm thủ công nhất
Tools>Customize...>Command>Macro
Kéo cái Custom Menu Item trong danh sách bên phải lên thanh menu
Thoát hộp thoại
Bấm vào cái Menu vừa kéo lên rồi chọn macro muốn gán cho nó
Muốn sửa tên menu thì làm lại như trên Tools>Customize... rồi bấm chuột phải vào cái menu vừa kéo lên để sửa. Menu này sẽ cố định.
Bạn có thể tham khảo thêm các bài viết về Menu trên diễn đàn này để có thể tự động gán menu khi mở File và tự hủy khi đóng file.
 
Đây là cách làm thủ công nhất
Tools>Customize...>Command>Macro
Kéo cái Custom Menu Item trong danh sách bên phải lên thanh menu
Thoát hộp thoại
Bấm vào cái Menu vừa kéo lên rồi chọn macro muốn gán cho nó
Muốn sửa tên menu thì làm lại như trên Tools>Customize... rồi bấm chuột phải vào cái menu vừa kéo lên để sửa. Menu này sẽ cố định.
Bạn có thể tham khảo thêm các bài viết về Menu trên diễn đàn này để có thể tự động gán menu khi mở File và tự hủy khi đóng file.
.

OK, cám ơn bạn đã hướng dẫn, mình hỏi thêm trường hợp mình muốn tạo thành add-in cho con Macro này thì như thế nào ?
 
Trời, đơn giản hơn đan rổ nhiều bạn ạ.
Chỉ việc việc save dưới dạng .xla là được, rồi vào Tools>Add-Ins browse đến file đó.
 
Lần chỉnh sửa cuối:
Tôi không hiểu ý "thường trú" của bạn là gì.
Bạn nên tìm đọc kỹ những bài viết về Menu và Add-Ins trên diễn đàn để biết cách áp dụng tùy theo nhu cầu của bạn nhé.
 
Web KT

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

Back
Top Bottom