Цитата |
---|
Sanja написал: Версия Excel? И разрядность. И файл-пример |
Версия Эксель 2007 г.
Проц 32-х разрядный. А сам эксель тоже для 32.
Насколько помню, если не ошибаюсь, 64 разрядная версия на 32 разрядную систему и не установиться.
Так что, с этим все нормально.
Что касается файла примера, дело в том, что файлов много. Есть с большим вложением макросов, есть с меньшим. Но толку с того, если прикреплю файл пример?
Дело в том, что эксель при любом файле с макросами вылетает.
Правда происходит это не всегда при сохранении. Только иногда. Ну, примерно в час один раз.
Но когда происходит, без мата не обхожусь. Потому, что так она достала уже … эта мерзо-пакость. В особенности, когда сижу уткнувшись в монитор и все внимание на алгоритмы, и отладку кода. И в этом самое время вдруг внезапно бац … и выходит сообщение о сбое работы Эксель.
И главное так не только на одном компьютере, но и на всех остальных. Аж в пяти местах проверял. И в win’7/8 и даже в winXP. ВЕЗДЕ так делает зараза. И никак не угомониться.
Цитата |
---|
Игорь написал: Тут либо проблема в макросах, либо проблема из-за сбоя в файле Excel |
Так что, сам файл навряд ли имеет кряк. Потому, что все файлы, которые заново создавались, в которых макросы писались с нуля, ведь не могут быть битыми.
И при этом, что касается того, если сами макросы вызывают вылет Excel…. Тоже не думаю, что так.
Потому, что и тут, файлов много… и при работе с любым из них, Эксель всегда выкидывает такие номера.
И при этом, дело в том, что я те же самые макросы перенес в файл надстройки. С тем же самым кодом. Сам код макросов и в файле *.XLAM был тот же что в *.xlsm. Но почему то, в работе с первым ни один раз не было такой кляузы, а со вторым иногда даже каждый пол часа.
Так что, ну просто понять не могу в чем причина… и главное это чаще происходит, когда редактор VBA разработчик открыт.
Может быть, дело в подключенных библиотеках, которые стали не по вкусу, Excel-ю 2007?
Но и тут могу сказать, что в этом не сильно большой прихотливостью отличался. И в опции: References не тонную величину библиотек подключил. А всего каких то два или три дополнительных.
Вот все библиотеки которые подключены:
Visual Basic for Application
Microsoft Excel 12.0 Object Library
Microsoft Office 12.0 Object Library
Microsoft Forms 2.0 Object Library
Microsoft ActiveX Data Object 2.8 Library
Вот и все подключенные библиотеки.
Так что, я просто понять не могу, причину.
Мало того, что когда занимаешься отладкой макроса, столько проблем возникает, и работаешь над устранением ошибок в коде приложения. И с трудом, но в итоги добиваешься корректной работой кода. И это вроде бы удается. И думаешь, ну все …. теперь все работает нормально. И сложные алгоритмы корректно составлены, и переменные нигде не конфликтуют. И наконец вздыхаешь с облегчением. И тут на тебе…. Что уже навряд ли ошибки того, что ты написал, а скорее думаю недоработки самой среды разработки. И самого производителя. И думаешь, как раз еще этого не хватало. Что бы, еще отвечать, не только за свои приложения, но еще и за среду.
Так что, опять рассчитываю на помощь!
И опять буду признателен за ответ!
Добрый день!!! Что то случилось. Перестали работать все макросы в excel,все они были выведены на панель быстрого допуска.Сейчас в книгах макросов нет ни одного макроса,куда они подевались? Сейчас макрос записывается и работает,но при выходе из Excel он перестает работать и книга макросов снова пуста.Раньше после записи макроса и выхода из Excel запрашивалось потверждение о сохранении макроса для его дальнейшей работы сейчас нет. Помогите разобрать с этой ситуацией.
Sub vib_krasnodar()
‘
‘ Макрос4 Макрос
‘
‘
Columns(«A:A»).Select
Selection.TextToColumns Destination:=Range(«A1»), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1)), TrailingMinusNumbers:=True
End Sub
Проблемы
При запуске макроса Visual Basic для приложений в Microsoft Excel может появиться следующее или аналогичное сообщение об ошибке:
Ошибка при запуске ‘1004’:
Метод ‘SaveAs’ объекта ‘_Worksheet’ не удалось
Причина
Такое поведение может происходить, если оба условия истинны:
-
Для сохранения Visual Basic для приложений используется макрос.
-and-
-
Формат файла указывается как постоянная xlWorkbookNormal.
Например, эта ошибка возникает по следующему коду:
Sub A()
Dim myNewSheet As Worksheet
Set myNewSheet = ActiveSheet
FileNameBin = "c:ABC"
myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=xlWorkbookNormal
End Sub
Обходное решение
Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации и не предоставляет явных или подразумеваемых гарантий относительно их корректной работы в конкретных случаях и в пользовательских приложениях. Примеры в данной статье рассчитаны на пользователя, имеющего достаточный уровень знаний соответствующего языка программирования, а также необходимых средств разработки и отладки. Специалисты служб технической поддержки Майкрософт могут пояснить назначение тех или иных конструкций кода в конкретном примере, но модификация примеров и их адаптация к задачам разработчика не поддерживается.
Если у вас ограниченный опыт программирования, обратитесь к сертифицированным партнерам Майкрософт или в службы microsoft Advisory Services. Дополнительные сведения можно найти на следующих веб-сайтах Майкрософт:
сертифицированные партнеры Майкрософт — https://partner.microsoft.com/global/30000104
Microsoft Advisory Services — http://support.microsoft.com/gp/advisoryservice
Дополнительные сведения о доступных вариантах поддержки и о том, как связаться с корпорацией Майкрософт, можно найти на следующем веб-сайте Майкрософт:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
Чтобы обойти эту ситуацию, измените спецификацию формата файла с константы xlWorkbookNormal на 1. Функции кода в примере обычно выполняются в том случае, если он был изменен на:
Sub A()
Dim myNewSheet As Worksheet
Set myNewSheet = ActiveSheet
FileNameBin = "c:ABC"
myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=1
End Sub
ПРИМЕЧАНИЕ. Несмотря на сохранение книги, все его книги сохраняются при выборе формата xlWorkbookNormal или 1.
Статус
Корпорация Майкрософт подтверждает, что это проблема в продуктах Майкрософт, перечисленных в начале этой статьи.
Нужна дополнительная помощь?
NikolayHAOS -3 / 2 / 0 Регистрация: 29.10.2013 Сообщений: 178 |
||||||||
1 |
||||||||
После выполнения макроса, сохранение книги — ошибка06.10.2017, 08:42. Показов 3219. Ответов 17 Метки нет (Все метки)
Всем доброго времени суток.
Второй.
По отдельности (по горячим клавишам) отрабатывают оба нормально.
0 |
es geht mir gut 11264 / 4746 / 1183 Регистрация: 27.07.2011 Сообщений: 11,437 |
|
06.10.2017, 08:49 |
2 |
«.xlsx» xlsm попробуйте. Добавлено через 1 минуту
ActiveWorkbook.Name Если уверены что активна нужная книга.
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
06.10.2017, 09:23 |
3 |
Если хотите сохранять как xlsx — нет нужды предварительно возиться с удалением макросов, тем более что это требует доступа к проектам.
0 |
-3 / 2 / 0 Регистрация: 29.10.2013 Сообщений: 178 |
|
06.10.2017, 11:26 [ТС] |
4 |
SoftIce,
0 |
es geht mir gut 11264 / 4746 / 1183 Регистрация: 27.07.2011 Сообщений: 11,437 |
|
06.10.2017, 11:33 |
5 |
Сообщение было отмечено NikolayHAOS как решение РешениеВ xlsm тоже не сохраняется ? Добавлено через 48 секунд Добавлено через 3 минуты
выскакивает предупреждение, как его побороть? Application.DisplayAlerts = False попробуйте перенести выше.
1 |
NikolayHAOS -3 / 2 / 0 Регистрация: 29.10.2013 Сообщений: 178 |
||||||||||||
06.10.2017, 11:45 [ТС] |
6 |
|||||||||||
В xlsm тоже не сохраняется ? Да… вообще не сохраняет.
Ща попробую. Добавлено через 2 минуты
Отработал так как надо. Добавлено через 4 минуты
0 |
17991 / 7617 / 890 Регистрация: 25.12.2011 Сообщений: 11,351 Записей в блоге: 17 |
|
07.10.2017, 15:13 |
7 |
«D:UsersNikolayHAOSDesktopНовая папка» & ActiveWorkbook.Name & «.xlsx« Вам же выше написали, что нужен формат xlsm И формат нужен не xlOpenXMLWorkbook, а xlOpenXMLWorkbookMacroEnabled (скорее всего, я не проверял). См. https://msdn.microsoft.com/en-… tion-excel
0 |
NikolayHAOS -3 / 2 / 0 Регистрация: 29.10.2013 Сообщений: 178 |
||||
07.10.2017, 17:43 [ТС] |
8 |
|||
Вам же выше написали, что нужен формат xlsm НО мне то нужно сохранить без макросов в .xlsx Добавлено через 35 минут
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
07.10.2017, 23:17 |
9 |
Так в чём смысл строк 41-47?
0 |
-3 / 2 / 0 Регистрация: 29.10.2013 Сообщений: 178 |
|
08.10.2017, 08:23 [ТС] |
10 |
Hugo121, Вы сами знаете что делают эти строки.
0 |
NikolayHAOS -3 / 2 / 0 Регистрация: 29.10.2013 Сообщений: 178 |
||||
08.10.2017, 09:52 [ТС] |
11 |
|||
Всем доброго времени суток.
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
08.10.2017, 12:34 |
12 |
Я не спрашивал что делают, я спрашивал в чём смысл?
0 |
NikolayHAOS -3 / 2 / 0 Регистрация: 29.10.2013 Сообщений: 178 |
||||||||
08.10.2017, 12:48 [ТС] |
13 |
|||||||
Ой блин не успел поправить код в сообщении.
Hugo121, ранее использовался другой способ сохранения файла и наличие в разделе ЭтаКнига кода макроса приводило к остановке макроса и ошибке. В новом варианте этот рудимент удалён.
Не корректно отрабатывает, сохраняя битые ссылки. Можно в этом убедится на примере выше в сообщении выше.
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
08.10.2017, 13:08 |
14 |
В
примере выше в сообщении выше нет примера, а если брать тот что выше выше выше… — там нет макроса.
0 |
-3 / 2 / 0 Регистрация: 29.10.2013 Сообщений: 178 |
|
08.10.2017, 13:13 [ТС] |
15 |
Вот файл с макросом и примером.
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
08.10.2017, 13:42 |
16 |
Ну так и вот, всё работает ведь без этих лишних телодвижений
0 |
NikolayHAOS -3 / 2 / 0 Регистрация: 29.10.2013 Сообщений: 178 |
||||
08.10.2017, 14:52 [ТС] |
17 |
|||
например вынести из цикла On Error Resume Next Так?
0 |
6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
|
08.10.2017, 14:54 |
18 |
Ну да, зачем зазря тратить системные ресурсы
0 |
Не работают макросы в Excel? Включите их выполнение, добавьте специальный модель с кодом, проверьте версию ОС и Эксель, убедитесь в соответствии пакета приложений, активируйте Майкрософт Офис, снимите блокировку файла, проверьте систему безопасности и применяемые библиотеки. Ниже подробно рассмотрим, в чем могут быть причины подобной неисправности, и какие шаги предпринимать для ее устранения.
Причины
Для начала стоит разобраться, почему не работает макрос в Excel, ведь от этого зависят дальнейшие шаги. К основным причинам стоит отнести:
- Функция отключена.
- Отключение отслеживания событий.
- Устаревшая операционная система.
- Несоответствие разработчика пакета офисных приложений.
- Устаревшая версия Майкрософт Офис.
- Неактивированная версия Excel.
- Заблокированный файл.
- Неправильные настройки безопасности.
- Отсутствие необходимой библиотеки и т. д.
Выше рассмотрены основные причины, почему не удается выполнить макрос в Excel. Все они могут быть решены самостоятельно с помощью приведенных ниже рекомендации. Подробнее на решении вопроса остановимся ниже.
Что делать
Многие пользователи теряются в ситуации, когда не включаются или вообще не работают макросы в Excel. Такая проблема не дает нормально пользоваться приложением и заставляет искать альтернативные варианты.
Включите опцию
Первое, что необходимо сделать — включить функцию для обеспечения ее работоспособности. Здесь многое зависит от версии Эксель.
Если не работают макросы в Excel 2003, сделайте следующие шаги:
- Войдите в «Сервис».
- Перейдите в раздел «Безопасность».
- Кликните «Уровень макросов «Низкий».
В случае, когда не работают макросы в Excel 2007, включите их следующим образом:
- Жмите на кнопку «Офис».
- Войдите в параметры Excel.
- Кликните на «Центр управления безопасности».
- Войдите в «Параметры центра управления безопасностью».
- Жмите на «Параметры макросов».
- Кликните на «Разрешить все …».
В ситуации, когда не работают макросы в Excel 2016, сделайте следующие шаги:
- Войдите в раздел «Файл».
- Кликните на кнопку «Параметры».
- Зайдите в «Центр управления безопасностью».
- Войдите в «Параметры центра управления безопасностью».
- Кликните на «Параметры …».
- Жмите на «Разрешить все …».
После внесения изменений параметра безопасности перезапустите приложение Excel, а именно закройте его полностью и откройте снова. Лишь после этого изменения вступают в силу.
Добавьте нужный модуль в книгу
Бывают ситуации, когда макросы включены, но не работают в Excel из-за отключения каким-либо элементом отслеживания событий. В таком случае сделайте следующее:
- Перейдите в редактор VBA с помощью клавиш Alt+F11.
- Вставьте указанный ниже код.
Sub Reset_Events()
Application.EnableEvents = True
End Sub
- Для выполнения кода поставьте курсор в любой точке между началом и концом.
- Кликните F5.
Проверьте операционную систему
В ситуации, когда не отображаются макросы в Excel, обратите внимание на тип операционной системы. К примеру, Майкрософт Офис, который подходит для Виндовс, на Мак ОС уже работать не будет. Причина в том, что в приложении используются разные библиотеки. Даже если надстройки и функционируют, могут быть сбои в работе. Вот почему при появлении проблем нужно проверить ОС на соответствие.
Обратите внимание на разработчика
Если в Экселе не работают макросы, причиной может быть другой разработчик. Так, пользователи Excel часто применяют OpenOffice или LibreOffice. Эти пакеты созданы на разных языках программирования, которые имеют индивидуальные особенности. Так, если надстройки написаны на Visual Basic for Application, он может не работать в указанных выше офисных приложениях. Вот почему необходимо уточнять, для какого пакета создан макрос / надстройка.
Проверьте версию Майкрософт Офис
В Макрософт Офис 2003 применяются надстройки xla для Excel. В современных версиях расширение поменялось на xlam. Если ставить макросы старого типа в приложения Офис 2007 и больше, никаких трудностей не происходит. Если же вы попытаетесь поставить новую надстройку на старую версию Excel, она зачастую не работает. Вот почему важно обратить внимание на этот параметр при выборе.
Убедитесь в наличии пакета VBA
Одной из причин, почему не запускается макрос в Excel, может быть отсутствие пакета VBA. Для успешного запуска надстройки необходимо, чтобы этот пакет был установлен. Иногда он уже установлен в Офис, но так происходит не всегда. Для проверки жмите комбинацию на Alt+F11. Если после этого появляется Visual Basic, компонент можно считать установленным. В ином случае его нужно поставить. Для этого:
- Зайдите в «Пуск», а далее «Панель управления / Программы и компоненты».
- Выберите программу Майкрософт Офис.
- Жмите на кнопку «Изменить».
- Запустить файл установки Setup.exe.
- Кликните на «Добавить или удалить компоненты».
- Выберите в списке Visual Basic и установите его.
Активируйте Офис
Если в Excel 2007 не работает кнопка «макросы», причиной может быть отсутствие активации приложения. Для этого жмите на кнопку «Активировать» и следуйте инструкции. В большинстве случаев такая опция является платной.
Снимите блокировку файла
Учтите, что документ, полученный с другого ПК / ноутбука, может заблокироваться. Для разблокировки файла нужно нажать ПКМ и в разделе «Общие» кликнуть на «Разблокировать».
Проверьте библиотеки
В случае, когда параметры макросов не активны в Excel, причиной может быть появление ошибки «Can’t find project or library». При этом, надстройка работает на другом ПК / ноутбуке, а здесь возникают проблемы. Ошибку легко устранить, если в окне, которое идет за сообщением об ошибке, снять отметки в полях Missing. Для вызова окна можно выбрать пункт меню Tools / References.
Проверьте настройки безопасности
В ситуации, когда не работают макросы в Excel, можно добавить надежные расположения или настроить доступ к объектной модели VBA. Для этого в Офис 2007 необходимо сделать следующее:
- Войдите в Меню
- Кликните на пункт «Параметры».
- Жмите на «Центр управления безопасностью».
- Войдите в «Параметры центра управления безопасностью».
- Кликните на «Параметры макросов» и «Доверять доступ к объектной модели проектов».
Зная, почему не работают макросы в Excel, вы можете с легкостью исправить проблему и восстановить работоспособность. Если же сложности в работе возникают, вы всегда можете воспользоваться инструкцией в статье.
В комментариях расскажите, какой из приведенных выше вариантов вам помог, и что еще можно сделать.
Отличного Вам дня!
при попытке сохранения файла Excel с поддержкой макросов загорается окно «Обнаружены ошибки при сохранении «путь файла». Возможно, приложению Microsoft Excel удастся сохранить этот файл, внеся в него некоторые исправления. Чтобы внести исправления в новый файл, нажмите кнопку «Продолжить». Для отмены сохранения файла нажмите кнопку «Отмена».
У меня Windows 11 и Microsoft Office 2016, активированные оба. При попытке сохранить файл, вылезает такая ошибка и при «Продолжить» предлагает место и название для сохранения, но оно не сохраняется, а снова вылазит это окно.
Я могу сохранять данный файл:
с телефона в приложении Office
с другого компьютера, на котором Windows 10 и Microsoft Office 2016
с другого компьютера, на котором Windows 10 и Microsoft Office 2019
Такое самое окно вылезает у человека, у которого тоже ASUS на AMD на Windows 11. Однако у человека с другим жезелом на Windows 11 всё работает.
Подскажите что сделать чтобы оно работало как раньше