VBAProject: ошибка времени выполнения '13 ': несоответствие типов - PullRequest
0 голосов
/ 11 марта 2020

У меня есть макрос, который работал, затем я решил, что хочу проверить диапазон для значения, и если это значение найдено, замените его на 0. Теперь это не работает, и я продолжаю получать ошибку времени выполнения 13 несоответствие типов в этой строке, независимо от того, что я пытаюсь. Вот код, который нарушает мой существующий код:

Dim cell As Range
For Each cell In Range("A1:GG1000")
   If cell.Value = "#N/A" Then
      cell.Value = 0
   End If
Next cell

Я попытался, если тоже cell.value = 2, просто чтобы посмотреть, была ли это проблема типа ячейки со строкой / числами, все та же ошибка при том же если строка.

Есть идеи?

1 Ответ

0 голосов
/ 11 марта 2020

Вы, вероятно, хотите сделать что-то вроде этого

If TypeName(cell.Value) = "Error" Then
    If cell.Value = CVErr(xlErrNA) Then
        'If cell.Value = "#N/A" Then
        cell.Value = 0
    End If
End If

Другой способ проверить, содержит ли ячейка ошибку:

If IsError(cell.Value) Then
    If cell.Value = CVErr(xlErrNA) Then
        'If cell.Value = "#N/A" Then
        cell.Value = 0
    End If
End If

Итак, сначала вы проверите, содержит ли ячейка ошибка , а затем вы проверяете конкретную c ошибку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...