Invalid qualifier vba excel ошибка

Обновлено: 05.07.2024

This code is designed to take a spreadsheet of raw data, omit several columns, and reformat what remains. I welcome any and all critiques of the code as I am new to VBA and know nothing. The key problem is at the end of the code on the line indicated with astriscs below. This is the spot where the "Compile Error: Invalid Qualifier" comes up. I'm trying to apply the formatting to Columns B and F, but I only want it to go as far as the last row of date. The last row of data will vary from one sheet to the next.

When the error is triggered, the debugger highlights the word "count".

Thanks in advance for your help.

2 answers

I use this technique when I get confused about the type of object I have created by stringing properties.

Within Excel's Visual Basic Editor, create a new module if you do not have an existing one that you wish to use in this way. If you select the module in Project Explorer and click F4, you can change the module's name to "Experiments" say.

I always start my modules with Option Explicit . Look Option Explicit up in VBA Help and it will tell you why this is a good idea.

I have also created an empty sub-routine into which I will type some statements.

Start typing a new statement so you have:

При вводе периода в конце этой новой линии, всплывающее окно покажет вам доступные методы и свойства. Этот список будет отображаться, как и ожидалось, все методы и свойства Range. Введите «адрес» или выберите адрес из списка, чтобы получить:

Нажмите F5, чтобы запустить этот макрос и следующий появится в окне Immediate:

Это адрес всех строк в столбце B, которая является то, что можно было бы ожидать.

Теперь добавьте еще два заявления макроса:

Выполнить этот макрос снова, и вы получите:

Опять же, это то, что ожидалось.

Всплывающее окно , которое появляется будет неизменным , потому что Range.Rows до сих пор диапазон.

Заполните заявление, добавляя или выбрав «Address» и запустить макрос еще раз, чтобы получить:

Это не может быть то , что вы ожидали , но думать об этом. $B:$B,$F:$F это все строки в колонках B и F таким образом добавляя свойство Rows не изменяет адрес.

Теперь добавьте следующие операторы макроса:

Запустите макрос, и эти заявления будут каждый выход целое число. Я использую Excel 2003, так что я получаю:

Если вы используете более позднюю версию Excel, вы получите большие числа. Второе число это количество строк в листе для вашей версии Excel. Первое число этого число ячеек в двух столбцах рабочего листа для вашей версии Excel.

Когда вы набираете конечный период, не всплывающее окно не появится , так как целое не имеет метода или свойства, можно выбрать таким образом. Метод .End(xlUp) работает на диапазоне; это не свойство Count именно поэтому вы получаете «Invalid спецификатор».

Это очень легко растеряться, когда нанизывая свойства вместе. Лично я избегаю нанизывая свойства, потому что даже если она быстрее работать, это занимает больше времени для меня, чтобы понять и отладки. Есть ситуации, в которых минимизации времени выполнения является главным приоритетом, но это один из тех случаев? Сколько часов вы зря с таким подходом?

Вам не нужно , RowMax но я включил его , чтобы вы совершенно ясно , что Rng3.Count возвращается. Кроме того, я пошел OTT с диапазонами. Я был бы счастлив набрать: Set Rng3 = Union(Range("B:B"), Range("F:F")) потому что я считаю , это легко понять.

Метод .End(xlUp) действует на клетки. MultiCellRange.End(xlUp).Row является допустимым синтаксисом , но я не могу заставить его вернуть полезную информацию. Если вы хотите использовать .End(xlUp) рассмотреть следующие вопросы:

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

Из комментария в верхней, я полагаю , этот код был создан Macro Recorder. Macro Recorder выводит синтаксически правильный код , но он плохой код. По крайней мере , часть причины для плохого кода является то , что заявления регистрируются , как вы печатаете. Регистратор не знает своей цели. Если курсор находится в ячейке A1 и нажатии кнопки Right , рекордер будет выбирать B1 , потому что это то , что происходит на экране. Там могут быть ситуации , в VBA , для которых Select является полезным методом , но они редки.

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

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

With Worksheets("Sheet1") состояния этот код должен работать на листе под названием «Лист1» из активной книги. End With Завершает С заявлением.

Вы можете вложить с заявлением:

Период в начале .Range("A1") государств .Range("A1") должны действовать в пределах тока , с которым Worksheets("Sheet1") . Если я опускаю этот период, Range("A1") действует на активном листе.

Период в начале .Value состояний он должен действовать на ток , с которым в Range("A1") течение Worksheets("Sheet1") . Если я опускаю этот период, Value действует на активную ячейку.

Использование С заявлениями делает ваш код более компактным и гораздо яснее. Тем не менее, вы должны включать в себя периоды. Рассматривать:

Если активный рабочий лист «Лист1», выход:

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

Вы могли бы заменить много кода с:

Вы также можете написать:

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

Мне не нравится то, что вы делаете. В своем первом заявлении вы удалите некоторые столбцы так столбец B становится столбец А и столбец R становится столбец I. Затем изменить заголовки столбцов в своих новых позициях. Так как вы только перемещение данных, почему вам необходимо изменить заголовки столбцов? Что еще более важно, за девять месяцев кто-то собирается добавить столбец или изменить существующие столбцы. Ваш код будет вести независимо и ваше имя будет грязь.

Я предпочел бы что-то вроде:

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


To Fix (VBA Invalid Qualifier) error you need to follow the steps below:

Совместимость : Windows 10, 8.1, 8, 7, Vista, XP
Загрузить размер : 6MB
Требования : Процессор 300 МГц, 256 MB Ram, 22 MB HDD

Limitations: This download is a free evaluation version. Full repairs starting at $19.95.

VBA Invalid Qualifier обычно вызвано неверно настроенными системными настройками или нерегулярными записями в реестре Windows. Эта ошибка может быть исправлена ​​специальным программным обеспечением, которое восстанавливает реестр и настраивает системные настройки для восстановления стабильности

If you have VBA Invalid Qualifier then we strongly recommend that you Download (VBA Invalid Qualifier) Repair Tool .

This article contains information that shows you how to fix VBA Invalid Qualifier both (manually) and (automatically) , In addition, this article will help you troubleshoot some common error messages related to VBA Invalid Qualifier that you may receive.

Примечание: Эта статья была обновлено на 2021-11-16 и ранее опубликованный под WIKI_Q210794

Contents [show]

Meaning of VBA Invalid Qualifier?

VBA Invalid Qualifier is the error name that contains the details of the error, including why it occurred, which system component or application malfunctioned to cause this error along with some other information. The numerical code in the error name contains data that can be deciphered by the manufacturer of the component or application that malfunctioned. The error using this code may occur in many different locations within the system, so even though it carries some details in its name, it is still difficult for a user to pinpoint and fix the error cause without specific technical knowledge or appropriate software.

Causes of VBA Invalid Qualifier?

If you have received this error on your PC, it means that there was a malfunction in your system operation. Common reasons include incorrect or failed installation or uninstallation of software that may have left invalid entries in your Windows registry, consequences of a virus or malware attack, improper system shutdown due to a power failure or another factor, someone with little technical knowledge accidentally deleting a necessary system file or registry entry, as well as a number of other causes. The immediate cause of the "VBA Invalid Qualifier" error is a failure to correctly run one of its normal operations by a system or application component.

More info on VBA Invalid Qualifier

Is there something wrong with calling a private sub from a private sub, or is something else going on? Hi, I'm trying to call a userform (code for this one found below) from another userform.

Спасибо за помощь.

Получил это понять.

What the heck is an invalid qualifier and what do I do or change to get rid of it. Just a dumb mistake.

Он по-прежнему дает мне неверный хороший показатель.


That leading period is Qualifier Error at the "copy cell values" action. you're breaking object rules.

У меня есть код кода, который позволяет мне скопировать ряд

is not an object. Invalid qualifier means A29:T53 from an excel file to a cell A1 of a new excel sheet. You need to create an object reference to the name; that's just its name for the moment.

At the end of the code (not shown here), I clean up the three for the strSQLFROM. scope is strSQLSELECT in the first nested If statement's conditional statement.

Hi, I'm trying to figure out why Access Take a look, and let me always use instring to test for the presence of fkStatusID.

The variable that it says is out of the current know if you have any suggestions. If it is the syntax of your ortiginal test you can doesn't think my variable is in the current scope. Same logic strings and put together the SELECT, FROM and WHERE statements into one SQL query.

I'm sure some one has seen this the comma's are still a problem. Thanks, TSG!!

I want this: Baxter,2516,5650,662123,
If I "split" on comma it makes a mess.

I need to parse lines that look like this:
,Baxter,"2,516 ","5,650 ","$662,123 before please help to not Reinvent the wheel. If I remove the quotes

У меня нет денег, чтобы взять его в любом месте, поэтому я не уверен, что делать.

Это репортер, что у меня есть другой компьютер, и я позволил загрузить программу, которая дала мне . Пожалуйста, мне нужна помощь .. Serg873


может сохранить на флеш-карте и запустить ее на другом компьютере. Спасибо!!

Я нашел «DWG Repair Toolbox» некоторые данные, но большая часть из них недоступна (я имею в виду файлы .dwg). Что такое процедура, какое программное обеспечение было использовано? Спасибо!

Я много лет использую Norton WinDoctor, но теперь c.If b. Все они имеют недостающие или недопустимые ключи. Например, ProgID, mapifvbx.object, они есть. Что касается недопустимой записи ActiveX / COM, «." Может кто-нибудь объяснить. Очистите свой реестр 2.1 на этой странице нажмите здесь

Моя почта Google в порядке, и то же самое произошло. Iv удалил и повторно установил ie7, так как я мог писать, я получил недопустимый заголовок. попытался войти в систему здесь. Может кто-нибудь помочь .thanks

Антивирусом является nod32 и сегодня, но не повезло. Пошел на firefox и пробы вроде этого.


У кого-нибудь еще есть nod32 или у него появилась нить для ванны, и появился 413. webroot sweeprr как шпионское ПО.

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

or code '413' when i a forum got invalid verb . Fire wall is zone alarm pro .

Просто натыкаюсь на меня, чем XP, на мой реликвии ПК. Детали установки Windows 7? Какой номер сборки получает двойной экран загрузки. G, которые использовались до установки.
? Откуда у вас файл ISO? Я выбрал для загрузки обновлений через USB или eSATA?

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

Самая частая причина сбоя установки? Как вы записывали DVD? Любая помощь Любая внешняя HD-система используется? Одиночная ОС (XP Pro SP3), и да I к C. N / A
? Проверка управления дисками для любых HD-дисков

C - более новый диск, используемый (пожалуйста, не спрашивайте о том, как он работает на работе . не соответствующая деятельность). Установочные носители? Использование ключа USB-памяти?
? И с проблемой доступа я не могу получить программу easybcd. Кратко опишите и версию Windows 7, которую вы устанавливаете?

У WD была какая-то программа, которая могла бы копировать диски, поэтому у меня нет «сети» на моем ПК, пока я не получу это. Я всегда был в состоянии просто Ха? Нет нет.
? Связаны ли они, связанные с Bonjour и ремонт файла boot.ini), просто надеялись на что-то еще.

I do have a cable router and a 10/100 switch that send the Connection doesn't have a valid IP configuation" message. Additional information: P4 3.0 GHz, 4 GB RAM

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

When the users try to rename, they get the error "A file name can't this issue, so I don't think it is user error. Windows 7 Pro, SP1. There are XP workstations at the site as well, 2003 R2 Enterprise, Service Pack 2. The workstations are running that do not appear to be having the issue.

Любая помощь, предложения или рекомендации для доступа к ресурсу через VPN-сайт на сайте. У меня есть пользователи 3 в 3 различных системах, сообщающих пользователям о переименовании файлов на общий диск. Я столкнулся с проблемой, очень ценю! Пользователи находятся на удаленном сайте и

The server is Windows Server contain any of the following characters: \ / : * ? < > |".

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

Перейдите в Решение.


Привет и Недопустимый номер продукта. Итак, у меня был Lenovo IdeaPad Y700. Он сказал, что из-за некоторых проблем заменила серийную 15ISK материнскую плату.

reformatt my sister's computer. I don't know if this makes a difference but her product key number a invalid product key message. She purchased the computer 2001 and I continue to receive

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

Я предложил установить Windows xp home уже. является номером oem, мой - обновление, которое не является номером oem.

Если бы я мог одолжить Windows xp home (построить 2600), что было бы весьма полезно

это бесплатно..
Я думаю, что

Нажмите реестр hererestore нажмите здесь

Я понятия не имею, что это означает, что ящик iit говорит, что 1 прервал действие .


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

Я не могу поместить ярлыки в папку, я больше не могу этого делать. Попробуйте загрузить в безопасный режим и посмотрите, не работает ли недопустимая функция MS-DOS. спасибо


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


Ошибка 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. Это может произойти, если мы допустим орфографическую ошибку именованного диапазона, чтобы сослаться на диапазон, который даже не существует. Чтобы продемонстрировать это, давайте сначала создадим именованный диапазон. У меня есть следующие данные здесь.


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


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


Код:


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

Код:


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

Код:


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

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

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

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


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

Код:


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

Код:


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

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

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

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

Код:


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

Код:


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

Код:


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

Код:


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

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

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

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

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

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

Код:


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

Код:


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

Код:


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

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

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

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

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

Код:


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

Код:


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

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

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

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

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

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


Ошибка 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. Это может произойти, если мы допустим орфографическую ошибку именованного диапазона, чтобы сослаться на диапазон, который даже не существует. Чтобы продемонстрировать это, давайте сначала создадим именованный диапазон. У меня есть следующие данные здесь.


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


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


Код:


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

Код:


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

Код:


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

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

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

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


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

Код:


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

Код:


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

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

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

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

Код:


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

Код:


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

Код:


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

Код:


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

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

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

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

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

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

Код:


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

Код:


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

Код:


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

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

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

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

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

Код:


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

Код:


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

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

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

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

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

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

Читайте также: