Ошибка выполнения Excel VBA '13' Несоответствие типа, когда значение не является числовым

У меня есть приведенный ниже код, который возвращает ошибку несоответствия, когда значение не является числовым. Что бы я изменил?

If Sheet3.Cells(4, 8).Value <= 182 Then
    Call ThreeSpells
End If

Заранее спасибо :)


person Shaun Casey    schedule 07.05.2015    source источник


Ответы (1)


Что-то вроде этого

Dim MyVar, MyCheck
MyVar = Sheet3.Cells(4, 8).Value
MyCheck = IsNumeric(MyVar) 'Returns True

If MyCheck = True Then
  If Sheet3.Cells(4, 8).Value <= 182 Then
     Call ThreeSpells
  End If
Else
 'msgbox or what you want
End If
person Kᴀτᴢ    schedule 07.05.2015
comment
Извините, если я что-то пропустил, но где приведенный выше код проверяет, равно ли значение ячейки 182 или меньше? - person Shaun Casey; 07.05.2015
comment
Вы можете сократить код в своем ответе: If IsNumeric(Sheet3.Cells(4, 8).Value Then... - person EngJon; 07.05.2015