Ошибка несоответствия типов в значении диапазона, не могу понять, почему - PullRequest
0 голосов
/ 24 февраля 2019

Итак, каждый раз, когда я запускаю свой код, я получаю ошибку Несоответствия типов и не могу найти, что изменить на что, чтобы запустить его правильно.Хотя это может еще не полностью решить большую проблему, которая заключается в том, как сформулировать мой вопрос в коде vba, но обо всем по порядку.Как получить эту строку кода без ошибок:

Range("I" & r & ":" & "I" & B).Value = Range("I" & r & ":" & "I" & B).Value + 1

Где r = текущая строка, которую проверяет код (от 5 до 44), а B - последняя строка, которую может проверить код (44) Все, что я хочуэта строка состоит в добавлении единицы к уже существующему значению ячейки (которое равно 0, если ничего не сделано в этой строке, или формуле, если выполняются условия, эта формула будет принимать значение от 1 до 40)

1 Ответ

0 голосов
/ 24 февраля 2019

Вы не можете сделать это так, как вы делаете -> вы не можете добавить число в диапазон ячеек одновременно.Вы должны добавлять число к одной ячейке за раз.

Попробуйте:

    Dim i As Integer
    For i = r To B
        Range("I" & i).Value = Range("I" & i).Value + 1
    Next

Для обработки формул:

    Dim i As Integer
    For i = r To B

        Dim numberToAdd As Integer
        numberToAdd = 1

        If Range("I" & i).HasFormula Then
            Range("I" & i).Value = Range("I" & i).Formula & "+" & Trim(Str(numberToAdd))
        Else
            Range("I" & i).Value = Range("I" & i).Value + 1
        End If

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