Runtime error 1004 vba

В появившемся окне присваиваем имя документу с сохранением его первоначального расширения. Ниже, в выпадающем списке выбираем Шаблон *.xltх (для пакета Офис первых версий позиция будет называться «Шаблон *.xlt»). Нажимаем кнопку «Сохранить».

Для того, чтобы вставить шаблон с помощью макроса, необходимо воспользоваться таким кодом: Sheets.Add Type:=Заданный адресПрисвоенное название документа.

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

I am having an issue with a Error 1004 "Application-defined or Object-defined error" when selecting a range.

I am still able to select rows (ie Rows("21:21").select ) and to select ranges in other sheets of the same workbook. I do not believe the error is in the code. Maybe its some setting I am unaware of?

I have used the exact same code many times before but for some reason I cannot make it function in this sub (I have commented where the error occurs).

I need to get all fancy in my copying as the amount of rows will change frequently. Again, the below code has been used before without error. but not in this instance.

17 Answers 17

Perhaps your code is behind Sheet1, so when you change the focus to Sheet2 the objects cannot be found? If that’s the case, simply specifying your target worksheet might help:

I’m not very familiar with how Select works because I try to avoid it as much as possible :-). You can define and manipulate ranges without selecting them. Also it’s a good idea to be explicit about everything you reference. That way, you don’t lose track if you go from one sheet or workbook to another. Try this:

Читайте также:  Smtpsend dns nonexistentdomain nonexistent domain

It’s a bit late but might be helpful for future reference. I had just had the same issue and I think it’s because the macro is recorded at the worksheet level. Right click on the modules node on the VBA project window, click on insert module then paste your macro in the new module (make sure you delete the one recorded at the worksheet level).

The same thing happened to me. In my case most of the worksheet was in protected mode (though the cells relevant to the macro were unlocked). When I disabled the protection on the worksheet, the macro worked fine. it seems VBA doesn’t like locked cells even if they are not used by the macro.

In Office Excel 2003, when you programmatically set a range value with an array containing a large string, you may receive an error message similar to the following:

Run-time error ‘1004’. Application-defined or operation-defined error.

This issue may occur if one or more of the cells in an array (range of cells) contain a character string that is set to contain more than 911 characters.

To work around this issue, edit the script so that no cells in the array contain a character string that holds more than 911 characters.

For example, the following line of code from the example code block below defines a character string that contains 912 characters:

Other versions of Excel or free alternatives like Calc should work as well.

При выборе диапазона возникает проблема с ошибкой 1004 "Определенная пользователем или определяемая объектами ошибка".

Я все еще могу выбирать строки (т.е. Rows("21:21").select ) и выбирать диапазоны в других листах одной и той же книги. Я не верю, что ошибка в коде. Может быть, некоторые настройки, о которых я не знаю?

Читайте также:  Acpi ite8708 что за устройство

Я использовал один и тот же код много раз, но по какой-то причине я не могу заставить его функционировать в этом суб (я прокомментировал, где происходит ошибка).

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

Возможно, ваш код стоит за Sheet1, поэтому, когда вы меняете фокус на Sheet2, объекты не могут быть найдены? Если это случай, просто указание целевого листа может помочь:

Я не очень хорошо разбираюсь в том, как работает Select, потому что я стараюсь избегать его как можно больше:-). Вы можете определять и управлять диапазонами, не выбирая их. Также неплохо быть явным в отношении всего, о чем вы ссылаетесь. Таким образом, вы не потеряете трек, если переходите с одного листа или книги на другую. Попробуйте следующее:

Немного поздно, но может быть полезно для справок в будущем. У меня была такая же проблема, и я думаю, потому что макрос записывается на уровне рабочей таблицы. Щелкните правой кнопкой мыши по модулям node в окне проекта VBA, нажмите на модуль вставки, затем вставьте свой макрос в новый модуль (убедитесь, что вы удалили тот, который был записан на уровне рабочей таблицы).

Надеюсь на эту помощь.

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

Читайте также:  Jquery проверить есть ли элемент

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

В Office Excel 2003, когда вы программно устанавливаете значение диапазона с массивом, содержащим большую строку, вы можете получить сообщение об ошибке, подобное следующему:

Ошибка времени выполнения ‘1004’. Определенная или определяемая операцией ошибка.

Эта проблема может возникнуть, если одна или несколько ячеек в массиве (диапазон ячеек) содержат строку символов, которая должна содержать более 911 символов.

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

Например, следующая строка кода из приведенного ниже блока кода кода содержит строку символов, содержащую 912 символов:

Другие версии Excel или бесплатные альтернативы, например Calc должен работать.

Rate this post

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

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