Страницы: 1
RSS
VBA, Проверка диапазона на наличие определенных значений в ячейках
 
Добрый вечер, Нужен vba код. Если хотя бы одна ячейка в диапазоне A1:D25 имеет значение меньше 0 и больше 14, тогда макрос не выполняется, но если есть пустые ячейки, и нет ячеек со значением меньше 0 и больше 14, тогда выполняется. Спасибо.
 
Цитата
OSA913 написал: хотя бы одна ячейка в диапазоне A1:D25 имеет значение меньше 0 и больше 14
Может ИЛИ?
Согласие есть продукт при полном непротивлении сторон
 
Нужно чтобы макрос выполнялся если ячейки содержат числа от 0 до 14 и могут быть пустые ячейки, но если хоть одна ячейка будет иметь число вне диапазона-макрос не выполняется
 
Решение.

Код
Sub Кнопка2_Щелчок()
    If WorksheetFunction.CountIf(Range("A1:D25"), "<0") + WorksheetFunction.CountIf(Range("A1:D25"), ">14") > 0 Then
        MsgBox "Не выполняем"
        Exit Sub
    End If
End Sub
Код
Sub Кнопка1_Щелчок()
    factor = 0
    For Each cc In Range("A1:D25")
        If cc < 0 Or cc > 14 Then factor = 1
    Next
    If factor Then
        MsgBox "Не выполняем"
        Exit Sub
    End If
End Sub
Изменено: skais675 - 25.03.2019 21:10:39
 
Код
with worksheetfunction
  if .countif(Диапазон , ">14") +.countif(Диапазон , "<0") = 0 then ВыполнитьМакрос
end with
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Спасибо вам друзья, оба кода работают.
Страницы: 1
Наверх