Как исправить ошибку vba 13?

Несоответствие типов (ошибка 13) возникает при попытке указать значение переменной, не соответствующее ее типу данных. В VBA, когда вы объявляете переменную, вам необходимо установить ее тип данных, а когда вы указываете значение, отличное от этого типа данных, вы получаете ошибку несоответствия типа 13.

ошибка несоответствия типов

В этом уроке мы увидим, каковы возможные ситуации, когда ошибка времени выполнения 13 может возникнуть во время выполнения кода.

Ошибка несоответствия типа даты

В VBA существует определенный тип данных для обработки дат, и иногда это происходит, когда вы используете переменную для хранения даты, а указанное вами значение отличается.

В следующем коде я объявил переменную как дату, а затем указал значение ячейки A1, где должна быть только дата. Но, как видите, дата в ячейке 1 имеет неправильный формат, VBA не может идентифицировать ее как дату.

 Sub myMacro() Dim iVal As Date iVal = Range("A1").Value End Sub

Ошибка несоответствия типа номеру

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

В следующем примере у вас есть ошибка в ячейке A1, которая должна быть числовым значением. Поэтому, когда вы запускаете код, VBA отображает ошибку времени выполнения 13, поскольку он не может идентифицировать значение как число.

 Sub myMacro() Dim iNum As Long iNum = Range("A6").Value End Sub

Ошибка выполнения 6. Переполнение.

В VBA существует несколько типов данных для работы с числами, и каждому из этих типов данных соответствует диапазон чисел, которые ему можно присвоить. Но возникает проблема, когда вы указываете число, выходящее за пределы диапазона типа данных.

В этом случае мы покажем вам переполнение ошибки времени выполнения 6, которое указывает на то, что вам необходимо изменить тип данных, а указанное вами число выходит за пределы диапазона.

Другие ситуации, когда это может произойти

Могут возникнуть и другие ситуации, в которых вы можете столкнуться с ошибкой времени выполнения 14: несоответствие типов.

  1. Когда вы назначаете диапазон таблице, но этот диапазон состоит только из одной ячейки.
  2. Когда вы определяете переменную как объект, но при написании кода вы указываете объект, отличный от этой переменной.
  3. Когда вы указываете переменную как лист, но используете коллекцию листов в коде или наоборот.

Как исправить несоответствие типов (ошибка 13)

Лучший способ справиться с этой ошибкой — использовать для доступа инструкцию для выполнения определенной строки кода или отображения окна сообщения пользователю при возникновении ошибки. Но вы также можете шаг за шагом проверить местность перед запуском. Для этого вам нужно использовать инструмент отладки VBA или вы также можете использовать сочетание клавиш F8.

Что такое ВБА

Связанные руководства

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *