VBA - En makro for å sjekke data

Jeg prøver å lage en makro av noe slag for å gjøre noen kontroller for å sikre at alt er fylt ut riktig. Her er et eksempel på regnearket ...

 ABCDE

1Kit element element2 element3 resultater

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

Jeg må skrive en makro som vil gjøre følgende.

 Hvis celle A1 = A2 så kontroller om B1 = B2 & C1 = C2 & D1 = D2.

Hvis alle matchene legger inn "GOOD" til E1, legger du igjen "BAD til E1

Men hvis A1 A2 forlater E1 tom og går ned til A2 vs A3

I eksemplet over A2 = A3 og B2 = B3 & C2 = C3 & D2 = D3, så E3 = GOOD

I eksemplet over A4 = A5 og B4 B5 & C4 C5 & D4 D5, så E5 = BAD

Løsning

Her er koden:

Sub findResult ()

Dim Kit, Item, Item2, Item3, Results As Range

Demp vareCount så lenge

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

Set Kit = Range ("A: A")

Set Item = Range ("B: B")

Angi Item2 = Range ("C: C")

Angi Item3 = Range ("D: D")

Angi resultater = Range ("E: E")

For i = 3 Til itemCount

Velg Case Kit (i, 1) = Kit (i - 1, 1)

Sak sant

Hvis element (i, 1) = element (i - 1, 1) og element2 (i, 1) = element2 (i - 1, 1) _

Og Item3 (I, 1) = Item3 (i - 1, 1) Så

Resultater (jeg, 1) = "GOOD"

Slutt om

Hvis (Element (I, 1) = Element (I - 1, 1) Og Element 2 (I, 1) = Element 2 (I - 1, 1) _

Og Item3 (I, 1) = Item3 (i - 1, 1)) = False Then

Resultater (jeg, 1) = "BAD"

Slutt om

Case False

Resultater (i, 1) = ""

Slutt Velg

Neste jeg

Slutt Sub

Takk til Mehedad for dette tipset.

Forrige Artikkel Neste Artikkel

Beste Tips