Макрос проверки столбцов с заменой значений - VBA
Формулировка задачи:
есть таблица
необходимо выполнить условия:
1 - если в столбце 2 и 3 есть значение тогда в столбцах 7,8,9,10 проставляем значение 3, 7, В наличии, 1
2 - если в столбце 2 и 3 нет значения и в столбце 6 значение >0 тогда в столбец 2 вставляем значение из столбца 6,в столбец 3 вставить значение из столбца 4,а в столбцах 7,8,9,10 проставляем значение 0, 8, Предзаказ, 1 (соответственно)
3 - если в столбце 2 и 3 нет значения и в столбце 6 значение =0 тогда в столбец 2 вставляем значение из столбца 6,в столбец 3 вставить значение из столбца 4, а в столбцах 7,8,9,10 проставляем значение 0, 8, Предзаказ, 0 (соответственно)
169,11 | 71616 | 71616 | 1266 | 220.00 | 3 | 7 | В наличии | 1 | |
71617 | 1267 | 233.00 | 3 | 7 | В наличии | 1 | |||
209,49 | 71618 | 71618 | 1268 | 272.00 | 3 | 7 | В наличии | 1 | |
71621 | 1271 | 0.00 | 0 | 8 | Предзаказ | 0 |
Решение задачи: «Макрос проверки столбцов с заменой значений»
textual
Листинг программы
Sub Проверка() Dim i, LastRow LastRow = Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To LastRow If Trim(Cells(i, 2)) & Trim(Cells(i, 3)) = "" Then Cells(i, 2) = Cells(i, 6) Cells(i, 3) = Cells(i, 4) Cells(i, 7) = 0 Cells(i, 8) = 8 Cells(i, 9) = "Предсказ" If Cells(i, 6) > 0 Then Cells(i, 10) = 1 ElseIf Cells(i, 6) = 0 Then Cells(i, 10) = 0 End If ElseIf Trim(Cells(i, 2)) <> "" And Trim(Cells(i, 3)) <> "" Then Cells(i, 7) = 3 Cells(i, 8) = 7 Cells(i, 9) = "В наличии" Cells(i, 10) = 1 End If Next End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д