VBA - Makro ke kontrole dat
![](http://img.brin-designs.com/img/games/927/vba-macro-check-data.png)
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 ...
ABCDE1Kit 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.