Ошибка записи значиния в ячейку: type mismatch - VB

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток, друзья.
Появилась необходимость обработать большую таблицу автоматически. Но возникает ошибка type mismatch на строке "Cells(nRowIndex, 11).Value = nExecutDay + 1".
Функция TypeName выдает Empty. Изменение типа не помогет (я делал это функциями CDate, CStr... Правильно?).
Аналогичных проблем на форуме и в интернете не нашел.
Прошу вашей помощи. За ссылки и разъяснения говорю спасибо.
Код:

Решение задачи: «Ошибка записи значиния в ячейку: type mismatch»

textual
Листинг программы
Sub fGrafik()

    Dim nRowIndex As Long
    Dim nExecutDay As Date
    nExecutDay = #1/6/2017#
    For nRowIndex = 2 To Range("A65536").End(xlUp).Row
        
        Cells(nRowIndex, 11).NumberFormat = "dd.mm.yyyy"
        Cells(nRowIndex, 11).Value = CDate(Cells(nRowIndex, 11).Value)
        
        If Cells(nRowIndex, 11).Value = 0 _
        Or Cells(nRowIndex, 11).Value = " " _
        Or Cells(nRowIndex, 11).Value = "" _
        Or Cells(nRowIndex, 11).Value = vbNullString _
        Or IsEmpty(Cells(nRowIndex, 11)) _
        Or nExecutDay > Cells(nRowIndex, 11).Value Then
            Cells(nRowIndex, 11).Value = nExecutDay + 1
            
        End If

    Next
    
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5