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 ...

 ABCDE

1Kit 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.

Bài TrướC TiếP Theo Bài ViếT

Lên Trên LờI Khuyên