VBA - Một macro để kiểm tra dữ liệu
Tôi đang cố gắng tạo một macro của một số loại để thực hiện một số kiểm tra để đảm bảo mọi thứ được điền chính xác. Đây là một ví dụ về bảng tính ...
ABCDE1Kit Mục Item2 Mục3 Kết quả
CDA 2AAA ABC
3AAA ABC BCD CDE TỐT
DEF CDB 4BBB
BAD CDB 5BBB ABC
6BBB ABC BCD CDE TỐT
7CCC BCD CDE DEF
8CCC ABC BCD CDE BAD
9CCC CDE CDE DEF BAD
10CCC ABC BCD CDE
Tôi cần phải viết một macro sẽ làm như sau.
Nếu ô A1 = A2 thì kiểm tra xem B1 = B2 & C1 = C2 & D1 = D2.Nếu tất cả khớp, sau đó đăng "TỐT" lên E1, nếu không thì đăng "BAD lên E1
Nhưng nếu A1 A2 thì để trống E1 và bước xuống A2 vs A3
Trong ví dụ trên A2 = A3 và B2 = B3 & C2 = C3 & D2 = D3, do đó E3 = TỐT
Trong ví dụ trên A4 = A5 và B4 B5 & C4 C5 & D4 D5, do đó E5 = BAD
Dung dịch
Đây là mã:Tìm kiếm phụ ()
Dim Kit, Item, Item2, Item3, Kết quả là Phạm vi
Mục DimCount As Long
itemCount = Range ("A1"). CurrentRegion.Rows.Count
Đặt Kit = Phạm vi ("A: A")
Đặt Mục = Phạm vi ("B: B")
Đặt Mục2 = Phạm vi ("C: C")
Đặt Mục3 = Phạm vi ("D: D")
Đặt kết quả = Phạm vi ("E: E")
Cho i = 3 đến mụcCount
Chọn Case Kit (i, 1) = Kit (i - 1, 1)
Trường hợp đúng
Nếu Mục (i, 1) = Mục (i - 1, 1) Và Mục2 (i, 1) = Mục2 (i - 1, 1) _
Và Mục 3 (i, 1) = Mục3 (i - 1, 1) Sau đó
Kết quả (i, 1) = "TỐT"
Kết thúc nếu
If (Mục (i, 1) = Mục (i - 1, 1) Và Mục2 (i, 1) = Mục2 (i - 1, 1) _
Và Item3 (i, 1) = Item3 (i - 1, 1)) = Sai Sau đó
Kết quả (i, 1) = "BAD"
Kết thúc nếu
Trường hợp sai
Kết quả (i, 1) = ""
Kết thúc chọn
Tiếp theo tôi
Kết thúc phụ
Cảm ơn Mehedad cho mẹo này.