VBA - макрос для проверки данных

Я пытаюсь создать какой-то макрос, чтобы сделать некоторые проверки, чтобы убедиться, что все заполнено правильно. Вот пример электронной таблицы ...

 ABCDE

1Kit Item Item2 Item3 Результаты

2AAA ABC BCD CDE

3AAA ABC BCD CDE ХОРОШО

4BBB BCD CDE DEF

5BBB ABC BCD CDE BAD

6BBB ABC BCD CDE ХОРОШО

7CCC BCD CDE DEF

8CCC ABC BCD CDE BAD

9CCC CDE CDE DEF BAD

10CCC ABC BCD CDE

Мне нужно написать макрос, который будет делать следующее.

 Если ячейка A1 = A2, тогда проверьте, если B1 = B2 & C1 = C2 & D1 = D2.

Если все совпадения, то отправьте «ХОРОШО» на E1, в противном случае напишите «ПЛОХОЕ на E1»

Но если A1 A2, тогда оставьте E1 пустым и перейдите к A2 против A3.

В приведенном выше примере A2 = A3 и B2 = B3 & C2 = C3 & D2 = D3, поэтому E3 = ХОРОШО

В приведенном выше примере A4 = A5 и B4 B5 и C4 C5 и D4 D5, поэтому E5 = BAD

Решение

Вот код:

Sub findResult ()

Dim Kit, Item, Item2, Item3, Результаты в виде диапазона

Dim itemCount As Long

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

Set Kit = Range ("A: A")

Установить пункт = диапазон («B: B»)

Установить Item2 = Range ("C: C")

Установить Item3 = Range ("D: D")

Установить результаты = диапазон («E: E»)

Для i = 3 до itemCount

Выберите Case Kit (i, 1) = Kit (i - 1, 1)

Случай True

Если Item (i, 1) = Item (i - 1, 1) И Item2 (i, 1) = Item2 (i - 1, 1) _

И Item3 (i, 1) = Item3 (i - 1, 1) Тогда

Результаты (i, 1) = "ХОРОШО"

End If

If (Item (i, 1) = Item (i - 1, 1) И Item2 (i, 1) = Item2 (i - 1, 1) _

И Item3 (i, 1) = Item3 (i - 1, 1)) = False Тогда

Результаты (i, 1) = "ПЛОХО"

End If

Случай Ложь

Результаты (i, 1) = ""

Выбор конца

Далее я

End Sub

Спасибо Mehedad за этот совет.

Предыдущая статья Следующая статья

Лучшие советы