@beduin01

Как исправить данную ошибку в Excel?

Вылетает вот такая ошибка. Как понимаю ему не нравится тип. Не подскажите как исправить?
56790ab9af55f.png
  • Вопрос задан
  • 135 просмотров
Пригласить эксперта
Ответы на вопрос 2
AnnTHony
@AnnTHony
Интроверт
Работает. Dim j As Integer

Sub ololo()
    Sheets("List").Select
    Dim j As Integer
    j = 1
    Do Until Range("A" & j) = ""
        Range("B" & j) = CDate(Range("A" & j)) + 14
        Range("C" & j) = CDate(Range("A" & j)) + 21
        j = j + 1
    Loop
End Sub


С отловом ошибок:
Sub ololo()
On Error GoTo WTF
    Sheets("List").Select
    Dim j As Integer
    j = 1
    Do Until Range("A" & j) = ""
        Range("B" & j) = CDate(Range("A" & j)) + 14
        Range("C" & j) = CDate(Range("A" & j)) + 21
        j = j + 1
    Loop
    MsgBox ("No errors! Success!")
    GoTo StopThisShit:
WTF:
    MsgBox ("ololo!!! Error there: " & Str(j))
    Range("B" & j) = "ololo"
    Range("C" & j) = "ololo"
    Resume Next
StopThisShit:
End Sub
Ответ написан
honor8
@honor8
Принципы быстродействия VBA в описании
Не нужно Вам использовать функцию CDate; в Excel по умолчанию даты - это числа, - хорошо складываются.
Как написал Антон Федорян задайте тип переменной j. Без указания типа переменной получается j As Variant. Если будет возникать указанная ошибка, у Вас в колонке A попалось "не число". Примечание: Типы данных.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы