Как исправить ошибку выполнения vba 1004?

Ошибка выполнения VBA 1004 возникает при запуске макроса в Excel. Это ошибка, которая может возникнуть по нескольким причинам. В приведенном ниже примере, как вы можете видеть, когда я запускаю код, он показывает ошибку времени выполнения «1004». Проще говоря, вы также можете сказать, что это происходит, когда вы не можете выполнить действие с объектом или приложением.

vba-ошибка времени выполнения

В этом уроке мы поймем несколько других причин этой ошибки выполнения 1004.

Ошибка 1: ошибка выполнения VBA 1004: это имя уже занято. Попробуйте другой:

Как я уже говорил выше, когда вы пытаетесь добавить лист с именем, которое уже есть в книге, с помощью кода VBA, VBA отображает ошибку времени выполнения с кодом 1004.

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

В приведенном выше коде я попытался переименовать лист «Лист2» с именем «Лист1», но, как видите, «Лист1» у меня уже есть в книге; VBA показал мне код ошибки 1004.

Чтобы справиться с этой проблемой, вам необходимо проверить, существует ли уже лист в книге или нет.

Ошибка 2: Ошибка выполнения VBA 1004: сбой метода «Диапазон» объекта «_Global»:

Как вы знаете, вы можете создать именованный диапазон в Excel, но когда вы попытаетесь сослаться на этот именованный диапазон с помощью кода VBA и написать его имя с ошибкой, вы можете получить ошибку во время выполнения: 1004 Ошибка метода «_Global» объекта «Диапазон».

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

Именованного диапазона с указанным мной именем не существует, и поэтому он показал мне ошибку времени выполнения 1004.

Ошибка 3: ошибка выполнения VBA 1004: не удалось выбрать метод диапазона класса:

Когда вы используете код VBA для выбора диапазона, которого нет на активном листе, VBA отображает ошибку времени выполнения 1004. Поскольку, если вы хотите выбрать ячейку или диапазон ячеек для расчета листа, он должен быть активен в это время. .

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

Как вы можете видеть в следующем примере, я допустил ту же ошибку, обращаясь к ячейке A1 первого листа, но лист 2 активен.

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

Ошибка 4: ошибка выполнения VBA 1004. Не удалось активировать класс диапазона методов:

Как и в приведенной выше причине, когда вы пытаетесь активировать ячейку или диапазон ячеек из определенного листа, который в данный момент не активен, мы покажем вам ошибку времени выполнения 1004 (Не удалось активировать класс диапазона метода :).

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

Чтобы снова устранить эту ошибку, вам необходимо проверить, активен ли рабочий лист, на который вы ссылаетесь, или нет. Или вы также можете проверить, присутствует ли этот лист в рабочей книге или нет.

Ошибка 5: Ошибка метода среды выполнения VBA 1004. К сожалению, нам не удалось найти:

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

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

Чтобы справиться с ситуацией, вы можете использовать код VBA, чтобы проверить, присутствует ли в папке файл, на который вы ссылаетесь, или нет.

Ошибка 6. Не удалось открыть метод связывания объектов VBA. Ошибка выполнения 1004.

Эта ошибка также связана с книгой. Поэтому, когда вы попытаетесь открыть книгу с именем, для которого книга уже существует и открыта в данный момент, VBA покажет вам ошибку времени выполнения 1004 (Ошибка метода открытия книги объектов).

То же самое произошло в приведенном выше примере, когда я попытался открыть уже открытую книгу, и VBA показал мне ошибку времени выполнения (1004).

Как исправить время выполнения VBA (ошибка 1004)

Ошибка 1004 — это ошибка времени выполнения, возникающая при запуске кода VBA. И все ошибки, которые мы обсуждали выше, связаны с человеческими ошибками при написании кода, следуя пунктам, которые вы можете использовать, чтобы избежать ошибки времени выполнения 1004.

  1. Выполните пошаговое выполнение кода, чтобы увидеть, в какой строке возникает ошибка.
  2. Обязательно проверьте все названия книг, на которые вы ссылаетесь.
  3. Вы также можете использовать код VBA, чтобы проверить, открыта ли уже книга или нет.
  4. И используйте метод активации, чтобы активировать рабочий лист перед обращением к ячейке или диапазону из нее.
Что такое ВБА

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

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

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