Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
VBA Если столбец содержит «Значение», то ячейка с заданным смещением (отступом) равна нулю Ø.
 
Всем доброго дня!

Возможно ли задать макросом следующие действия:
Если в столбце «S» есть значение, содержащие в ячейке слова "CRATE", "WOODEN BOX", " RACK", "PLASTIC BAG", то от этой ячейки со смещением (↓1 →10) значение будет = нулю Ø.

На примере файла во вложении :
Столбец «S» (ячека S33) содержит "WOODEN BOX", необходимо чтобы ячейка (↓1 →10) это будет «AC34» была = нулю Ø и в такой же последовательности до крайнего значения столбца «S».

Для меня написать подобное -  за гранью реальности. Но думаю, что некоторым участникам форума это не составит особого труда.
Буду очень признателен в помощи!
 
В модуле листа
Код
Option Explicit
Option Compare Text
Sub Word_Zero()
    Dim Cel As Range, i&, Ar
    Ar = Array("*CRATE*", "*WOODEN BOX*", "*RACK*", "*PLASTIC BAG*")
    For Each Cel In Range("S2", Cells(Rows.Count, "S").End(xlUp))
        For i = 0 To UBound(Ar)
            If Cel Like Ar(i) Then Cel.Offset(0, 10) = 0: Exit For
        Next
    Next
End Sub
 
Михаил Витальевич, спасибо за оказанную работу. Однако, в коде не совсем правильно учтен отступ.
В вашем решении действие применяется к ячейке «AC33».
 
Большое спасибо !

В коде поправил, файл во вложении.  
 
Так, что ли?
Код
Option Explicit
Option Compare Text
Sub Word_Zero()
    Dim Cel As Range, i&, Ar
    Ar = Array("*CRATE*", "*WOODEN BOX*", "*RACK*", "*PLASTIC BAG*")
    For Each Cel In Range("S2", Cells(Rows.Count, "S").End(xlUp))
        For i = 0 To UBound(Ar)
            If Cel Like Ar(i) Then Cel.Offset(1, 10) = 0: Exit For
        Next
    Next
End Sub

Надо было сразу показать, что и где должно быть.
...Тем более, что "отступ" - это немного из другой оперы...
Страницы: 1
Читают тему (гостей: 1)
Наверх