Уважаемые форумчане!
Просьба помочь чайнику по следующей проблеме:
Вводная - имеется некая таблица, которую редактируют/обновляют статусы в половине столбцов. Другая половина статична.
Некоторые редактируемы столбцы имеют выпадающий список с четко допустимыми значениями (например, 1 и 2)
Некоторые особо одаренные пользователи ломают систему и вписывают в такие столбцы фигню. Задача написать макрос проверки так, чтобы по нажатию кнопки включалось УФ, и красным подсвечивало неверные значения.
Просьба помочь чайнику по следующей проблеме:
Вводная - имеется некая таблица, которую редактируют/обновляют статусы в половине столбцов. Другая половина статична.
Некоторые редактируемы столбцы имеют выпадающий список с четко допустимыми значениями (например, 1 и 2)
Некоторые особо одаренные пользователи ломают систему и вписывают в такие столбцы фигню. Задача написать макрос проверки так, чтобы по нажатию кнопки включалось УФ, и красным подсвечивало неверные значения.
Код |
---|
Sub Check() ' Columns("T:T").Select 'проверка на несоответствующее значение в Т (не 1, и не 2), при условии что в столбце А не пусто Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=И(НЕ($A1="""");$T1<>""1"";$T1<>""2"")" Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority With Selection.FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = 255 .TintAndShade = 0 End With Selection.FormatConditions(1).StopIfTrue = False End Sub |
По итогу в УФ прописывается следующая формула: =И(НЕ($A1="");$T1<>"1";$T1<>"2")
УФ не срабатывает, т.к. считает, что цифирь в кавычках в формуле не те единицы и двойки, которые указаны в столбце, и красит в красный всё...
Но формула работает корректно, если из формулы в УФ убрать кавычки (=И(НЕ($A1="");$T1<>1;$T1<>2). Тперь вопрос: как прописать в VBA без двойных кавычек единицу и двойку? Если писать в "одинарных" кавычках, то ругается на синтакс еррор... Сорри, то ли я туплю, то ли что...