Ошибка «Ошибка выполнения 13: несоответствие типов» в VBA Excel - PullRequest
1 голос
/ 16 мая 2019

У меня есть рабочая книга Excel, в которой для диапазона ячеек я хочу проверить определенные условия, такие как «Больше 10», «От 5 до 10» и соответствующим образом раскрасить значения. Файл также содержит пустые значения и значения NA (символы N и A). Образец данных можно найти, как показано на рисунке ниже.

Пример данных

Я использовал следующий код.

For n= 1 o 10

For Each c In Worksheets(n).Range("A1:A10").Cells

If Abs(c.Value) > 10 Then
c.Interior.Color = vbRed
ElseIf Abs(c.Value) < 10 And Abs(c.Value) > 5 Then
c.Interior.Color = vbBlue
ElseIf c.Value = "NA" Or c.Value = " " Then
GoTo nofunction
End If
nofunction:
Next

Next n

Во время выполнения этого кода появляется сообщение об ошибке «Ошибка выполнения 13: несоответствие типов»

Я полагаю, что проблема связана с условием ElseIf c.Value = "NA" или c.Value = "".

Может кто-нибудь помочь мне в преодолении этой ошибки?

Спасибо

1 Ответ

1 голос
/ 16 мая 2019

Сначала проверьте числовые значения:

For n= 1 o 10
    For Each c In Worksheets(n).Range("A1:A10").Cells
        v = c.Value
        IfIsNumeric(v) Then
            If Abs(v) > 10 Then
                c.Interior.Color = vbRed
            ElseIf Abs(v) < 10 And Abs(v) > 5 Then
                c.Interior.Color = vbBlue
            End if
        End If
    Next
Next n
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...