Ошибка выполнения 1004, не удается запустить макрос в Excel – zanz

In order to fix the VBA runtime error 1004, you will need to Check your Excel add-ins, and install the latest updates for Microsoft Excel.

Симптомы

При запуске макроса Microsoft Visual Basic для приложений (VBA), который использует метод LegendEntries для внесения изменений в записи легенды в диаграмме Microsoft Excel, вы можете получить следующее сообщение об ошибке:

Ошибка “1004”: ошибка приложения или объекта

Excel VBA Ошибка 1004

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

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

Существуют различные типы причин, по которым мы получаем VBA Runtime Error 1004 в Excel, давайте рассмотрим некоторые из них.

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

Эта ошибка возникает, когда значение диапазона, которое мы ссылаемся на VBA, неверно. Он также называется метод «Диапазон» объекта «_ Global» не удалось.

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

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

  • Ошибка выполнения VBA 1004: невозможно получить свойство select класса Range:

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

  • Ошибка выполнения VBA 1004: сбой метода «Открыть» объекта «Книги»:

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

  • Ошибка выполнения VBA 1004: извините, мы не смогли найти:

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

Как мы узнали, могут быть разные причины, по которым мы получаем ошибку во время выполнения. Ошибка выполнения может возникнуть в любой строке кода. Нам нужно научиться обрабатывать эти ошибки, и это называется VBA Error Handling.

Пример VBA Runtime Ошибка 1004 в Excel

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

Вы можете скачать этот шаблон Excel с ошибкой VBA 1004 здесь – Шаблон Excel с ошибкой VBA 1004

Ошибка выполнения VBA 1004 – Пример № 1

Как объяснено об этой ошибке, эта ошибка возникает, когда мы ссылаемся на неверное значение именованного диапазона в VBA. Это может произойти, если мы допустим орфографическую ошибку именованного диапазона, чтобы сослаться на диапазон, который даже не существует. Чтобы продемонстрировать это, давайте сначала создадим именованный диапазон. У меня есть следующие данные здесь.

vba-1004-error-2.jpg.webp

  • Давайте назовем этот заголовок таблицы как DATA .

vba-1004-error-3.jpg.webp

  • Перейдите на вкладку Разработчик, нажмите на Visual Basic, чтобы открыть VB Editor.

vba-1004-error-4.jpg.webp

  • Объявите подфункцию, чтобы начать писать код.

Код:

Sub Sample () End Sub

vba-1004-error-5.jpg.webp

  • Вызовите заголовок, который мы назвали следующим кодом, написанным ниже.

Код:

Sub Sample () Range (“Данные”). Выберите End Sub

vba-1004-error-6.jpg.webp

  • Когда мы запускаем код, мы видим в Excel, что он был выбран, поскольку мы правильно вызвали заголовок.

vba-1004-error.gif

  • Теперь мы неправильно написали орфографию имени заголовка.

Код:

Sub Sample () Range (“Dataa”). Выберите End Sub

vba-1004-error-7.jpg.webp

  • Запустите код еще раз, чтобы увидеть результат.

vba-1004-error-2.gif

Мы получаем Excel VBA Runtime Ошибка 1004, потому что мы неправильно написали имя диапазона.

Ошибка выполнения VBA 1004 – Пример № 2

Мы получаем эту ошибку, когда пытаемся переименовать лист с именем, которое уже занято. Например, я переименовал лист 1 в « Ананд », и я постараюсь переименовать лист 2 в тот же, чтобы увидеть результат.

vba-1004-error-8.jpg.webp

  • Перейдите на вкладку Разработчик, нажмите на Visual Basic, чтобы открыть VB Editor.
  • Объявите подфункцию, чтобы начать писать код.

Код:

Sub Sample1 () End Sub

vba-1004-error-9.jpg.webp

  • Попробуйте переименовать лист 2 в Anand с помощью следующего кода ниже,

Код:

Sub Sample1 () Worksheets (“Sheet2”). Name = “Anand” End Sub

vba-1004-error-10.jpg.webp

  • Запустите приведенный выше код и посмотрите результат.

vba-1004-error-3.gif

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

Ошибка выполнения VBA 1004 – Пример № 3

Я попытаюсь добавить значение из листа 2 к переменной на листе 3. Но я не буду активировать лист 2 и посмотрю, что произойдет.

  • Перейдите на вкладку Разработчик, нажмите на Visual Basic, чтобы открыть VB Editor.
  • Объявите подфункцию, чтобы начать писать код.

Код:

Sub Sample2 () End Sub

vba-1004-error-11.jpg.webp

  • Объявите две переменные A и B как целое число.

Код:

Sub Sample2 () Dim A As Integer Dim B As Integer End Sub

vba-1004-error-12.jpg.webp

  • В переменной B сохраните значение A в дополнение к ячейке A1 листа 2.

Код:

Sub Sample2 () Dim A As Integer Dim B As Integer B = A + Рабочие листы (“Sheet2”). Диапазон (“A1”). Выберите End Sub

vba-1004-error-13.jpg.webp

  • Давайте предположим, что код работает, и используем функцию msgbox для отображения значения B.

Код:

Sub Sample2 () Dim A As Integer Dim B As Integer B = A + Рабочие листы (“Sheet2”). Диапазон (“A1”). Выберите MsgBox B End Sub

vba-1004-error-14.jpg.webp

  • Запустите код, чтобы увидеть полученный результат.

vba-1004-error-4.gif

Мы получаем эту ошибку, потому что мы не активировали лист 2, но мы пытаемся использовать значение листа 2.

Ошибка выполнения VBA 1004 – Пример № 4

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

В этом примере я уже переименовал свою книгу в VBA 1004 Error.xlsm, и я попытаюсь снова открыть ее, которая уже открыта, и посмотреть, получу ли я ошибку VBA 1004.

  • Перейдите на вкладку Разработчик, нажмите на Visual Basic, чтобы открыть VB Editor.
  • Объявите подфункцию, чтобы начать писать код.

Код:

Sub Sample3 () End Sub

vba-1004-error-15.jpg.webp

  • Объявите переменную в качестве рабочей книги.

Код:

Sub Sample3 () Dim A As Workbook End Sub

vba-1004-error-16.jpg.webp

Попробуйте открыть книгу, которую мы уже открыли, с помощью следующего кода.

Код:

Sub Sample3 () Dim A As Set Workbook Set wb = Workbooks.Open (“\ VBA 1004 Error.xlsm”, ReadOnly: = True, CorruptLoad: = xlExtractData) End Sub

vba-1004-error-17.jpg.webp

Запустите приведенный выше код, чтобы увидеть результат.

vba-1004-error-5.gif

Мы получаем эту ошибку, потому что мы уже открыли ту же книгу.

Ошибка выполнения VBA 1004 – Пример № 5

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

  • Перейдите на вкладку Разработчик, нажмите на Visual Basic, чтобы открыть VB Editor.
  • Объявите подфункцию, чтобы начать писать код.

Код:

Sub Sample4 () End Sub

vba-1004-error-18.jpg.webp

  • Попробуйте открыть любую книгу с помощью следующего кода,

Код:

Sub Sample4 () Workbooks.Open Filename: = “C: EDUCBA Content April VBA OR Function.xlsm” End Sub

vba-1004-error-19.jpg.webp

  • Я уже удалил лист с места.
  • Запустите код, чтобы увидеть результат.

vba-1004-error-6.gif

Поскольку лист не существует в данном месте, мы получаем эту ошибку.

То, что нужно запомнить

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

Рекомендуемые статьи

Это было руководство к VBA 1004 Ошибка. Здесь мы обсудили Excel VBA Runtime Error 1004 вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи –

  1. Добавить или удалить панель ошибок в Excel
  2. VBA Пока Loop | MS Excel
  3. Понимание ошибок в Excel
  4. Использование IFError в VBA

VBA Error 1004 in Excel

VBA 1004 Error is a run time error in VBA and occurs while running the code. Errors are part and parcel of the coding, especially when you are writing for the first time, you may come across many errors in VBA. This is common for everybody, and there is no big deal about it.

However, knowing the error of why it is coming makes you avoid those mistakes in the coming future.

In this article, we will discuss one of the important error Excel “VBA 1004 Error”.

VBA 1004 Error

You are free to use this image on your website, templates etc, Please provide us with an attribution linkArticle Link to be Hyperlinked
For eg:
Source: VBA 1004 Error (wallstreetmojo.com)

Top 6 Excel VBA 1004 Runtime Errors

#1 – VBA Run Time Error 1004: That Name is already taken. Try a different One:

This error occurs while renaming the sheet.

If the name of the worksheet already exists and if you try to assign the same name to another sheet, VBA throws Run Time Error of 1004, stating “The Name is Already Taken. Try a different one.”

For example, look at the below code.

Code:

Sub Error1004_Example() Worksheets(“Sheet2”).Name = “Sheet1”End SubVBA 1004 Error Example 1

I am trying to rename the sheet 2 as sheet 1. But I already have a sheet named “Sheet1”.

VBA 1004 Error Example 1-2

If I run this code using the F5 key or manually, I will get Run Time Error 1004: That Name is already taken. Try a different One.

VBA 1004 Error Example 1-1

So, try renaming the sheet accordingly.

#2 – VBA Run Time Error 1004: Method “Range” of object’ _ Global’ failed:

This usually occurs when we try to access the named range in excelName range in Excel is a name given to a range for the future reference. To name a range, first select the range of data and then insert a table to the range, then put a name to the range from the name box on the left-hand side of the window.read more with a spelling mistake or that doesn’t exist at all in the worksheet you are referring to.

For this, I have named the range of cells as “Headings,” as shown in the below image.

VBA 1004 Error Example 2

Now by using the Range object, I can access this range.

Code:

Sub Error1004_Example() Range(“Headings”).SelectEnd SubVBA 1004 Error Example 2-1

If you run this code by pressing the F5 key, then this code will select the named range.

VBA 1004 Error Example 2-2

But if I mention the named range wrongly, I will get Run Time Error 1004: Method “Range” of object’ _ Global’ failed.

Code:

Sub Error1004_Example() Range(“Headngs”).SelectEnd SubVBA 1004 Error Example 2-3

Run this code manually or using the F5 key and see the result.

VBA 1004 Error Example 2-4

# 3 – VBA Run Time Error 1004: Select Method of Range class failed:

This usually occurs when we try to select the cells other than the active sheet without making the sheet select or active.

For example, look at the below code.

Code:

Sub Error1004_Example() Worksheets(“Sheet1”).Range(“A1:A5”).SelectEnd SubVBA 1004 Error Example 3

The above code says to select the cells A1 to A5 in the worksheet “Sheet1”. To experiment, my present active sheet is “Sheet2”, not “Sheet1”.

I will run this code using the F5 key or manually to see what happens.

VBA 1004 Error Example 3-1

We got Run Time Error 1004: Select Method of Range class failed. This because without activating the sheet, we try to select the cells of that sheet. So first, we need to activate the sheer before we select the cells. Below is the correct code.

#4 – VBA Runtime Error 1004 method open of object workbooks failed:

This usually occurs when you try to open the workbook, which is the same name as the other workbook, which is already opened.

For example, look at the below code.

Code:

Sub Error1004_Example() Dim wb As Workbook Set wb = Workbooks.Open(“FileName.xls”, ReadOnly:=True, CorruptLoad:=xlExtractData)End SubExample 3-2

This will throw the below error.

Example 3-3

#5 – VBA Runtime Error 1004 method Sorry We couldn’t Find:

This error occurs due to when you try to open the file, which does not exist in the mentioned path. This could be move, renamed, or deleted from the mentioned path. One of the reasons for this because of the wrong type of the path or file name with excel extensionExcel extensions represent the file format. It helps the user to save different types of excel files in various formats. For instance, .xlsx is used for simple data, and XLSM is used to store the VBA code.read more.

Now take a look at the below code.

Code:

Sub Error1004_Example() Workbooks.Open Filename:=”E:Excel FilesInfographicsABC.xlsx”End SubExample 4

This code says to open the file “ABC.xlsx” in the mentioned folder path.

For sure, I know there is no file in the mentioned folder path. When there is no file that exists in the mentioned folder, we will get the Runtime Error 1004 method. Sorry, and We couldn’t find it.

Example 4-1

#6 – VBA Runtime Error 1004 Activate method range class failed:

This error occurs mainly due to activating the range of cells without activating the worksheet.

For example, look at the below code.

Code:

Sub Error1004_Example() Worksheets(“Sheet1”).Range(“A1:A5”).ActivateEnd SubExample 5

This error is very similar to the one we have seen in Run Time Error 1004: Select Method of Range class failed.

If I run manually or using the F5 key, then we will get below error.

Example 5-1

Because without activating the sheet, we cannot activate the cells in it. So first, activate the sheet and then activate the cells of that sheet.

This has been a guide to VBA 1004 Error. Here we discuss the top 6 types of 1004 Runtime Error in VBA and how to fix it along with examples & downloadable templates. Below are some useful articles related to VBA –

  • VBA LEN Function
  • VBA Type Mismatch Error
  • VBA Sub Procedures
  • VBA Match Function
  • 3 Courses
  • 12 Hands-on Projects
  • 43+ Hours
  • Full Lifetime Access
  • Certificate of Completion

LEARN MORE >>

Исправить ошибку 1004 в Excel

Первое, что вам здесь потребуется, это открыть Параметры Excel, что очень просто. Просто откройте Microsoft Excel, затем нажмите «Файл» и выберите «Параметры».

Как только вы окажетесь в области параметров, нажмите Доверенный центр, тогда Настройки центра управления безопасностью.

Исправить ошибку 1004 в Excel

Сразу должен появиться раздел Параметры доверия. Оттуда выберите Настройки макроса.

Наконец, нажмите на Доверять доступ к объектной модели проекта VBA, затем нажмите Ok кнопку и все тут.

Сканирование на наличие вредоносных программ

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

Microsoft Defender — отличный инструмент для этой работы, но если вам этого недостаточно, мы предлагаем использовать бесплатный автономный сканер вредоносных программ.

Формулы в Excel приводят к ошибке “Run-time error ”1004””

​Смотрите также​​ в каких-то случаях,​ значение “free” если​ ячеек With Sheets(SheetName).Range(“A1”)​ строки по этим​
​ For​ наизусть выучить. Их​ кроме кнопки и​ людей просто игнорируют.​ lr As Long​ 424 – Object​ правильном направлении!​: Большое спасибо. Оба​Sheets(“Задолженность”).Cells(9, 7).Value =​Application.ScreenUpdating = False​ макросах я профан,​ End With End​Nastinya​
​ то да, нужно​ нету то iserr​
​ .PasteSpecial Paste:=xlPasteFormulas ‘шапка​ листам.​Next i​ не так много.​
​ код к этой​ Это не связано​ Application.ScreenUpdating = False​ required. в строке​

​korsar75​​ метода работают. Если​ Sheets(“Договор, акт”).Cells(18, 11).Value​Dim wsSh As​ поэтому объясните что​ Sub​: Добрый день. никак​ обрабатывать ошибку. Но​ – вернет true.​ содержит формулы, которые​Макрос запускается по​Range(“count”).Value = 0​ Без файла с​ кнопки пока выглядит​ с ленью или​ Set shSource =​ If Not Intersect(cell,​: Большое спасибо. Будем​

​ не сложно, то​​Sheets(“Задолженность”).Cells(9, 8).Value =​ Worksheet​

​ дает данная команда​Прим.:​ не могу разобраться,​

​ некоторые функции рабочего​

​PS знаю что​

​ тоже копируются .PasteSpecial​ кнопке (взята из​Application.DisplayAlerts = True​ проблемой разговор неочем.​ точно так же,​ не желанием. Это​

​ Worksheets(“Ввод результатов испытаний”)​

​ [C11], [C62:C65]​ дальше грызть гранит​

​ в двух словах​

​ Sheets(“Договор, акт”).Cells(16, 11).Value​For Each wsSh​ “CStr” для дальнейшего​используется​

​ потерялась в двух​

​ листа не возвращают​

​ есть куча способов​

​ Paste:=xlPasteFormats .PasteSpecial Paste:=xlPasteColumnWidths​

​ “элементов управления формы”).​

​Application.ScreenUpdating = True​ Может у Вас​ как я выложил​ связанно с избыточным​ Set shTarget =​Private Sub Worksheet_Change(ByVal​

​ науки​

​ в чем моя​

​End Sub​

​ In Me.Sheets​ понимания и использования​

​Index​

​ строках.​

​ ошибки, например СЧЕТЕСЛИ,​

​ это сделать, но​

​ End With With​

​На моей машине​

​End Sub​

​ в Range(“B3”).Select буква​ в изображении. То​ количеством правил. На​ Worksheets(“данные”) lr =​ Target As Range)​max_2311​ ошибка или пошлите​

​Pelena​If wsSh.Name <>​LVL​листа, но можно​Adr = Worksheets(NameStel).Cells(Stroka​ поэтому для таких​ хочу понять что​

CyberForum.ru>

More on VBA Errors

Subscript Out of Range (Error 9) | Type Mismatch (Error 13) | Object Required (Error 424) | Out of Memory (Error 7) | Object Doesn’t Support this Property or Method (Error 438) | Invalid Procedure Call Or Argument (Error 5) | Overflow (Error 6) | Automation error (Error 440) | VBA Error 400

If you are trying to prepare for an interview check out these VBA Interview Questions and Answers. And if you found this tutorial helpful, you can support us to create more tutorials like this.

Рейтинг
( 1 оценка, среднее 5 из 5 )
Загрузка ...