VBA - Makro ke kontrole dat

Snažím se vytvořit makro nějakého druhu, abych provedl nějaké kontroly, aby se ujistil, že je vše naplněno správně. Zde je příklad tabulky ...

 ABCDE

1Kit Položka Položka2 Položka3 Výsledky

2AAA ABC BCD CDE

3AAA ABC BCD CDE GOOD

4BBB BCD CDE DEF

5BBB ABC BCD CDE BAD

6BBB ABC BCD CDE GOOD

7CCC BCD CDE DEF

8CCC ABC BCD CDE BAD

9CCC CDE CDE DEF BAD

10CCC ABC BCD CDE

Musím napsat makro, které udělá následující.

 Pokud buňka A1 = A2, zkontrolujte, zda B1 = B2 & C1 = C2 & D1 = D2.

Pokud se všechny shodují, pak post "GOOD" na E1, jinak post "BAD na E1

Pokud ale A1 A2 ponechte prázdné a krok dolů k A2 proti A3

Ve výše uvedeném příkladu A2 = A3 a B2 = B3 & C2 = C3 & D2 = D3, takže E3 = DOBRÝ

V příkladu výše A4 = A5 a B4 B5 a C4 C5 a D4 D5, takže E5 = BAD

Řešení

Zde je kód:

Sub findResult ()

Dim Kit, Item, Item2, Item3, Výsledky jako rozsah

Dim itemCount As Long

itemCount = Rozsah ("A1"). CurrentRegion.Rows.Count

Set Kit = Range ("A: A")

Nastavit položku = rozsah ("B: B")

Nastavit Item2 = Rozsah ("C: C")

Nastavit Item3 = Rozsah ("D: D")

Nastavit výsledky = rozsah ("E: E")

Pro i = 3 Do položkyCount

Vyberte sadu Case (i, 1) = Kit (i - 1, 1)

Případ True

Pokud položka (i, 1) = položka (i - 1, 1) a položka2 (i, 1) = Item2 (i - 1, 1) _

A Item3 (i, 1) = Item3 (i - 1, 1) Pak

Výsledky (i, 1) = "DOBRÉ"

Konec Pokud

If (Položka (i, 1) = Položka (i - 1, 1) A Item2 (i, 1) = Item2 (i - 1, 1) _

A Item3 (i, 1) = Item3 (i - 1, 1) = False Pak

Výsledky (i, 1) = "BAD"

Konec Pokud

Případ False

Výsledky (i, 1) = ""

Konec Vyberte

Příště já

End Sub

Děkujeme Mehedadovi za tento tip.

Předchozí Článek Následující Článek

Nejlepší Tipy