Макрос не сохраняется в excel
Всем нам приходится - кому реже, кому чаще - повторять одни и те же действия и операции в Excel. Любая офисная работа предполагает некую "рутинную составляющую" - одни и те же еженедельные отчеты, одни и те же действия по обработке поступивших данных, заполнение однообразных таблиц или бланков и т.д. Использование макросов и пользовательских функций позволяет автоматизировать эти операции, перекладывая монотонную однообразную работу на плечи Excel. Другим поводом для использования макросов в вашей работе может стать необходимость добавить в Microsoft Excel недостающие, но нужные вам функции. Например функцию сборки данных с разных листов на один итоговый лист, разнесения данных обратно, вывод суммы прописью и т.д.
Макрос - это запрограммированная последовательность действий (программа, процедура), записанная на языке программирования Visual Basic for Applications (VBA). Мы можем запускать макрос сколько угодно раз, заставляя Excel выполнять последовательность любых нужных нам действий, которые нам не хочется выполнять вручную.
Способ 1. Создание макросов в редакторе Visual Basic
Для ввода команд и формирования программы, т.е. создания макроса необходимо открыть специальное окно - редактор программ на VBA, встроенный в Microsoft Excel.
- В старых версиях (Excel 2003 и старше) для этого идем в меню Сервис - Макрос - Редактор Visual Basic(Toos - Macro - Visual Basic Editor).
- В новых версиях (Excel 2007 и новее) для этого нужно сначала отобразить вкладку Разработчик (Developer) . Выбираем Файл - Параметры - Настройка ленты (File - Options - Customize Ribbon) и включаем в правой части окна флажок Разработчик (Developer) . Теперь на появившейся вкладке нам будут доступны основные инструменты для работы с макросами, в том числе и нужная нам кнопка Редактор Visual Basic(Visual Basic Editor)
:
К сожалению, интерфейс редактора VBA и файлы справки не переводятся компанией Microsoft на русский язык, поэтому с английскими командами в меню и окнах придется смириться:
Макросы (т.е. наборы команд на языке VBA) хранятся в программных модулях. В любой книге Excel мы можем создать любое количество программных модулей и разместить там наши макросы. Один модуль может содержать любое количество макросов. Доступ ко всем модулям осуществляется с помощью окна Project Explorer в левом верхнем углу редактора (если его не видно, нажмите CTRL+R). Программные модули бывают нескольких типов для разных ситуаций:
-
Обычные модули - используются в большинстве случаев, когда речь идет о макросах. Для создания такого модуля выберите в меню Insert - Module. В появившееся окно нового пустого модуля можно вводить команды на VBA, набирая их с клавиатуры или копируя их из другого модуля, с этого сайта или еще откуда нибудь:
Обычный макрос, введенный в стандартный модуль выглядит примерно так:
Давайте разберем приведенный выше в качестве примера макрос Zamena:
С ходу ясно, что вот так сразу, без предварительной подготовки и опыта в программировании вообще и на VBA в частности, сложновато будет сообразить какие именно команды и как надо вводить, чтобы макрос автоматически выполнял все действия, которые, например, Вы делаете для создания еженедельного отчета для руководства компании. Поэтому мы переходим ко второму способу создания макросов, а именно.
Способ 2. Запись макросов макрорекордером
Макрорекордер - это небольшая программа, встроенная в Excel, которая переводит любое действие пользователя на язык программирования VBA и записывает получившуюся команду в программный модуль. Если мы включим макрорекордер на запись, а затем начнем создавать свой еженедельный отчет, то макрорекордер начнет записывать команды вслед за каждым нашим действием и, в итоге, мы получим макрос создающий отчет как если бы он был написан программистом. Такой способ создания макросов не требует знаний пользователя о программировании и VBA и позволяет пользоваться макросами как неким аналогом видеозаписи: включил запись, выполнил операци, перемотал пленку и запустил выполнение тех же действий еще раз. Естественно у такого способа есть свои плюсы и минусы:
- Макрорекордер записывает только те действия, которые выполняются в пределах окна Microsoft Excel. Как только вы закрываете Excel или переключаетесь в другую программу - запись останавливается.
- Макрорекордер может записать только те действия, для которых есть команды меню или кнопки в Excel. Программист же может написать макрос, который делает то, что Excel никогда не умел (сортировку по цвету, например или что-то подобное).
- Если во время записи макроса макрорекордером вы ошиблись - ошибка будет записана. Однако смело можете давить на кнопку отмены последнего действия (Undo) - во время записи макроса макрорекордером она не просто возрвращает Вас в предыдущее состояние, но и стирает последнюю записанную команду на VBA.
Чтобы включить запись необходимо:
- в Excel 2003 и старше - выбрать в меню Сервис - Макрос - Начать запись(Tools - Macro - Record New Macro)
- в Excel 2007 и новее - нажать кнопку Запись макроса (Record macro) на вкладке Разработчик (Developer)
Затем необходимо настроить параметры записываемого макроса в окне Запись макроса:
- Имя макроса - подойдет любое имя на русском или английском языке. Имя должно начинаться с буквы и не содержать пробелов и знаков препинания.
- Сочетание клавиш - будет потом использоваться для быстрого запуска макроса. Если забудете сочетание или вообще его не введете, то макрос можно будет запустить через меню Сервис - Макрос - Макросы - Выполнить(Tools - Macro - Macros - Run) или с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или нажав ALT+F8.
- Сохранить в. - здесь задается место, куда будет сохранен текст макроса, т.е. набор команд на VBA из которых и состоит макрос.:
- Эта книга - макрос сохраняется в модуль текущей книги и, как следствие, будет выполнятся только пока эта книга открыта в Excel
- Новая книга - макрос сохраняется в шаблон, на основе которого создается любая новая пустая книга в Excel, т.е. макрос будет содержаться во всех новых книгах, создаваемых на данном компьютере начиная с текущего момента
- Личная книга макросов - это специальная книга Excel с именем Personal.xls, которая используется как хранилище макросов. Все макросы из Personal.xls загружаются в память при старте Excel и могут быть запущены в любой момент и в любой книге.
После включения записи и выполнения действий, которые необходимо записать, запись можно остановить командой Остановить запись (Stop Recording) .
Запуск и редактирование макросов
Управление всеми доступными макросами производится в окне, которое можно открыть с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или - в старых версиях Excel - через меню Сервис - Макрос - Макросы (Tools - Macro - Macros) :
- Любой выделенный в списке макрос можно запустить кнопкой Выполнить(Run) .
- Кнопка Параметры(Options) позволяет посмотреть и отредактировать сочетание клавиш для быстрого запуска макроса.
- Кнопка Изменить(Edit) открывает редактор Visual Basic (см. выше) и позволяет просмотреть и отредактировать текст макроса на VBA.
Создание кнопки для запуска макросов
Чтобы не запоминать сочетание клавиш для запуска макроса, лучше создать кнопку и назначить ей нужный макрос. Кнопка может быть нескольких типов:
Кнопка на панели инструментов в Excel 2003 и старше
Откройте меню Сервис - Настройка (Tools - Customize) и перейдите на вкладку Команды (Commands) . В категории Макросы легко найти веселый желтый "колобок" - Настраиваемую кнопку (Custom button) :
Перетащите ее к себе на панель инструментов и затем щелкните по ней правой кнопкой мыши. В контекстом меню можно назначить кнопке макрос, выбрать другой значок и имя:
Кнопка на панели быстрого доступа в Excel 2007 и новее
Щелкните правой кнопкой мыши по панели быстрого доступа в левом верхнем углу окна Excel и выберите команду Настройка панели быстрого доступа (Customise Quick Access Toolbar) :
Затем в открывшемся окне выберите категорию Макросы и при помощи кнопки Добавить (Add) перенесите выбранный макрос в правую половину окна, т.е. на панель быстрого доступа:
Кнопка на листе
Этот способ подходит для любой версии Excel. Мы добавим кнопку запуска макроса прямо на рабочий лист, как графический объект. Для этого:
- В Excel 2003 и старше - откройте панель инструментов Формы через меню Вид - Панели инструментов - Формы (View - Toolbars - Forms)
- В Excel 2007 и новее - откройте выпадающий список Вставить (Insert) на вкладке Разработчик (Developer)
Выберите объект Кнопка (Button) :
Затем нарисуйте кнопку на листе, удерживая левую кнопку мыши. Автоматически появится окно, где нужно выбрать макрос, который должен запускаться при щелчке по нарисованной кнопке.
Создание пользовательских функций на VBA
Создание пользовательских функций или, как их иногда еще называют, UDF-функций (User Defined Functions) принципиально не отличается от создания макроса в обычном программном модуле. Разница только в том, что макрос выполняет последовательность действий с объектами книги (ячейками, формулами и значениями, листами, диаграммами и т.д.), а пользовательская функция - только с теми значениями, которые мы передадим ей как аргументы (исходные данные для расчета).
Чтобы создать пользовательскую функцию для расчета, например, налога на добавленную стоимость (НДС) откроем редактор VBA, добавим новый модуль через меню Insert - Module и введем туда текст нашей функции:
Обратите внимание, что в отличие от макросов функции имеют заголовок Function вместо Sub и непустой список аргументов (в нашем случае это Summa). После ввода кода наша функция становится доступна в обычном окне Мастера функций (Вставка - Функция) в категории Определенные пользователем (User Defined) :
После выбора функции выделяем ячейки с аргументами (с суммой, для которой надо посчитать НДС) как в случае с обычной функцией:
Если вы воссоздаете те же макрос, вы можете скопировать их в специальную книгуPersonal.xls b, сохраненную на компьютере. Любые макросы, хранимые в личной книге, становятся доступны вам при Excel на этом же компьютере.
Это поведение отличается от Excel по умолчанию, когда макрос работает только в книге, содержаной его.
Чтобы создать личную книгу, сначала нужно создать макрос и сохранить его в личной книге макроса. Перед началом работы убедитесь, что вкладка Разработчик доступна на ленте в Excel. Дополнительные сведения см. в этой вкладке.
Создание и обновление книги "Личные макросы"
На вкладке Разработчик в группе Код нажмите кнопку Запись макроса.
В диалоговом окне Запись макроса введите содержательное имя макроса в поле Имя макроса. Не используйте пробелы в имени.
В поле Сохранить в выберитеЛичная книга макроса.
Выполните действия, которые нужно записать.
На вкладке Разработчик в группе Код нажмите кнопку Остановить запись.
Каждый раз при создании нового макроса и сохранении его в личную книгу, а также при обновлении макроса в книге предлагается сохранить личную книгу.
Общий доступ к макросам
Если вы хотите скопировать макрос из личной книги в другую книгу или наоборот, это можно сделать в редакторе Visual Basic(VBE). Вы можете запустить редактор Visual Basic в Excel, нажав ALT+F11. Дополнительные сведения о копировании макросов из одной книги в другую см. в статье Копирование модуля макроса в другую книгу.
Если вы хотите поделиться файлом Personal.xlsB с другими людьми, вы можете скопировать его в папку XLSTART на других компьютерах. В Windows 10, Windows 7 и Windows Vista эта книга будет сохранена в папке C:\Users\имя пользователя\AppData\Local\Microsoft\Excel\XLStart. В Microsoft Windows XP эта книга сохранена в папке C:\Documents and Параметры\имя пользователя\Application Data\Microsoft\Excel\XLStart. Книги в папке XLStart открываются автоматически при Excel, а все коды, сохраненные в личной книге макроса, будут перечислены в диалоговом окну Макрос.
Чтобы создать личную книгу, сначала нужно создать макрос и сохранить его в личной книге макроса. Перед началом работы убедитесь, что вкладка Разработчик доступна на ленте в Excel. Для этого:
В меню Excel выберите пункт Параметры. > ленты & панели инструментов. В категории Настройка ленты в списке Основные вкладки выберите разработчик и нажмите кнопку Сохранить.
Создание и обновление книги "Личные макросы"
Чтобы создать личную книгу, сначала нужно создать макрос и сохранить его в личной книге макроса.
На вкладке Разработчик нажмите кнопку Запись макроса.
В диалоговом окне Запись макроса введите содержательное имя макроса в поле Имя макроса. Не используйте пробелы в имени.
В поле Сохранить в выберитеЛичная книга макроса.
Выполните действия, которые нужно записать.
На вкладке Разработчик щелкните Остановить запись.
Сохраните изменения, закроем книгу и, наконец, закроем Excel.
Каждый раз, когда вы создаете новый макрос и сохраняете его в личной книге или обновляете макрос, который уже есть в нем, вам будет предложено сохранить личную книгу.
Общий доступ к макросам
Если вы хотите скопировать макрос из личной книги в другую книгу или наоборот, это можно сделать в редакторе Visual Basic(VBE). Чтобы запустить редактор Visual Basic в Excel, щелкните Visual Basic на вкладке Разработчик. Дополнительные сведения о копировании макросов из одной книги в другую см. в статье Копирование модуля макроса в другую книгу.
Если вы хотите поделиться файлом Personal.xlsB с другими людьми, вы можете скопировать его в папку Excel на других компьютерах. Эта папка для Mac находится в домашней папке на сайте ~/Library/Containers/com.microsoft. Excel/Data/Library/Application Support/Microsoft/Roaming/Excel/.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.
Microsoft Excel автоматически сохраняет файл в процессе работы с книгой. Присваивает файлу имя временного файла и помещает файл в ту же папку, где хранится исходная версия. При ручном сохранении книги исходный файл удаляется, а временному файлу присваивается исходное имя файла.
Следующая информация может помочь вам определить возможные причины этой проблемы и предлагает решения для ее устранения.
Возможные причины, по которым документы не сохраняются
Выберите интересующую вас вкладку или перейдите в раздел «Быстрое разрешение».
- Надстройки сторонних разработчиков
- Разрешения
- Документ не сохранен
- Место на диске
- Антивирусное ПО
- Общий доступ к файлам
- Имя файла
Если не удается сохранить книгу в приложении Microsoft Excel, запущенном в безопасном режиме Windows, проблема может быть связана с использованием надстройки стороннего разработчика или файла, находящегося в одной из папок автозагрузки Excel. По умолчанию загрузочные файлы загружаются при запуске Excel.
Некоторые надстройки от сторонних разработчиков ПО предназначены для работы с существующими функциями Excel, тогда как другие обеспечивают удобный переход при использовании программы стороннего производителя. Обычно эти надстройки сторонних разработчиков не влияют на функциональность Excel. Тем не менее, могут быть затронуты некоторые функции, такие как сохранение файла.
Чтобы определить и исключить вероятность того, что надстройка Excel от стороннего разработчика или файл вызывают проблему с сохранением в Excel, попробуйте сохранить файл в безопасном режиме. Для этого выполните следующие действия:
Закройте программу Excel.
Нажмите Пуск и выберите пункт Программы.
Программа Excel обнаружила, что нажата клавиша CTRL. Запустить Excel в безопасном режиме?
Выберите Да.
Откройте новую книгу Excel и постарайтесь сохранить ее. Если это помогло, попробуйте еще раз сохранить проблемный файл.
Если теперь файл сохраняется правильно, то скорее всего причиной возникновения проблемы является пользовательская надстройка или файл в папке автозагрузки Excel. Для устранения проблемы необходимо найти и удалить эту надстройку или файл. После того как вы определили, какая надстройка или файл стали причиной проблемы, свяжитесь с поставщиком для получения дополнительной информации или обновления, которое решит проблему.
Для получения дополнительных сведений о безопасном режиме Microsoft Excel, нажмите в Excel клавишу F1, чтобы перейти в меню «Справка». Введите запрос безопасный режим в поле поиска, а затем нажмите кнопку Поиск, чтобы просмотреть нужные сведения.
Дополнительные сведения о том, как определить папки, которые Excel использует при запуске, и дополнительные параметры для отключения этой функции, см. в следующих статьях:
Чтобы можно было сохранить файл Excel, необходимы перечисленные ниже разрешения на работу с папкой, в которой предполагается сохранить файл.
- Разрешение на чтение
- Разрешение на запись
- Разрешение на изменение
- Разрешения на удаление
Не удается получить доступ к документу только для чтения
- Вы открываете существующий файл, а затем пытаетесь сохранить его.
- Вы сохраняете файл на внешнем или сетевом диске, и происходит сбой подключения.
При отсутствии указанных разрешений процесс сохранения в Excel не может быть завершен.
- Документ не сохранен
- Документ сохранен неполностью
- Документ не сохранен. Все ранее сохраненные копии были удалены.
- Документ не сохранен.
«Документ не сохранен» или «Документ сохранен неполностью»
При попытке создать временный файл процесс был прерван, возможно, по одной из следующих причин:
- Была нажата клавиша ESC
- Аппаратный сбой
- Программный сбой
- Проблема, связанная с носителем
Исходный файл все еще не изменен. Версия файла с текущими изменениями открыта в памяти до тех пор, пока не произойдет сбой на компьютере или рабочей станции.
Попробуйте сохранить файл на альтернативном диске.
Любые изменения, внесенные в последнюю версию, будут утеряны.
«Документ не сохранен». «Все ранее сохраненные копии были удалены» или «Документ не сохранен»
Процесс был прерван во время удаления исходного файла или переименования временного файла. Эта проблема возникает по тем же причинам, которые описаны в разделе «Документ не сохранен» или «Документ сохранен не полностью».
В этом случае исходный файл удаляется (хотя временный файл может быть доступен для чтения). Если на компьютере или рабочей станции произошел сбой, используйте временный файл. Если прерывание произошло по иной причине, то версия файла с текущими изменениями по-прежнему открыта в памяти. Сохраните файл на альтернативном диске.
Чтобы проверить, не конфликтует ли установленное антивирусное ПО с Excel, временно отключите его, затем попробуйте сохранить файл в Excel.
Недопустимое имя файла.
Процесс сохранения файла
Когда приложение Excel сохраняет файл, оно делает это в соответствии с описанной ниже процедурой.
- В целевой папке, указанной в диалоговом окне Сохранить как, Excel создает временный файл со случайным именем (например, Cedd4100 без расширения имени файла). В этот временный файл записывается вся книга.
- Если сохраняются изменения существующего файла, Excel удаляет исходный файл.
- Excel изменяет имя временного файла, присваивая ему имя, указанное в диалоговом окне Сохранить как (например, Book1.xls).
Быстрое разрешение проблемы
Если какая-либо из вышеуказанных причин не относится к вашей ситуации или вам по-прежнему не удается сохранить книги, попробуйте следующие варианты, чтобы сохранить файлы в Excel. Чтобы узнать больше о шагах, выберите изображение шеврона слева или заголовок параметра.
Сохранение книги с новым именем файла
- В меню Файл выберите команду Сохранить как.
- Сохранение книги с уникальным именем
Перемещение исходных листов в новую книгу
- Добавьте лист заполнителя в книгу, Для этого нажмите Shift+F11.
- Сгруппируйте все листы (кроме фильтра). Для этого щелкните первый лист и, нажав и удерживая клавишу Shift, щелкните последний лист.
- Щелкните сгруппированные листы правой кнопкой мыши и выберите команду Переместить или скопировать.
- В списке В книгу выберите пункт (Новая книга).
- Нажмите OK.
Сохранение файла в другом формате Excel
- В меню Файл выберите команду Сохранить как.
- В списке Тип файла выберите формат файла, отличный от текущего. Если используется приложение Microsoft Excel 2007 или более поздней версии, сохраните файл в формате XLSX или XLSM вместо XLS.
Попробуйте сохранить книгу в другом месте
Попробуйте сохранить записную книжку в другом месте, например, на локальном жестком диске, сетевом диске или съемном диске.
Попробуйте сохранить новую книгу в исходном месте
Создайте книгу Excel.
В меню Файл выберите команду Сохранить как.
В диалоговом окне Сохранить как выполните указанные ниже действия.
- В поле Папка выберите папку, в которой хранится исходная книга.
- В поле Имя файла введите имя для нового файла.
- Выберите Сохранить.
Попробуйте сохранить книгу в безопасном режиме
Перезапустите Windows в безопасном режиме и попробуйте сохранить книгу на локальный жесткий диск.
Дополнительные ресурсы
Чтобы избежать проблем с сохранением документов должным образом, мы рекомендуем включить автосохранение. Дополнительные сведения см. в разделе Что такое автосохранение?
Если при использовании Excel у вас возникли определенные проблемы, перейдите на следующий веб-сайт, чтобы найти более подробную информацию о версии вашей программы:
Подробный обзор параметров
В следующем разделе приводится более подробное описание этих вариантов.
Проблемы при сохранении книги Microsoft Excel могут возникнуть, если выполняются какие-либо из указанных ниже условий.
- Пользователь пытается сохранить книгу Excel на сетевом диске при отсутствии необходимых для этого разрешений.
- Вы пытаетесь сохранить книгу Excel на диске с недостаточным объемом свободного места.
- Утрачено соединение с книгой Excel.
- Имеется конфликт с антивирусной программой.
- Предпринимается попытка сохранить общую книгу Excel.
- При сохранении книги Excel превышено ограничение на длину пути (218 знаков).
Обходные пути для сохранения книг Excel
Для временного решения этой проблемы и сохранения работы перед началом устранения неполадок воспользуйтесь следующими способами. Возможно, восстановить текущий файл в его текущем виде не удастся — это зависит от причины проблемы. Однако следующие способы часто оказываются полезны. Они расположены по степени сохранности формата (с учетом попытки сохранить файл в формате, максимально близком к исходному).
Описанные ниже способы не всегда позволяют сохранить все последние изменения, форматирование и параметры, специфичные для используемой версии Excel. Они предназначены для сохранения файла в форме, допускающей его использование. Вам потребуется сохранить файл на локальный жесткий диск, используя уникальное имя файла.
Вариант 1. Сохранение книги с новым именем
- В меню Файл выберите команду Сохранить как.
- Сохранение книги с уникальным именем
Вариант 2. Перемещение исходных листов в новую книгу
Добавьте лист заполнителя в книгу, Для этого нажмите Shift+F11.
Этот лист требуется потому, что после перемещения всех необходимых листов данных в книге должен остаться хотя бы один лист.
Сгруппируйте все листы (кроме фильтра). Для этого щелкните первый лист данных, затем, удерживая клавишу Shift, щелкните последний лист данных.
Щелкните сгруппированные листы правой кнопкой мыши и выберите команду Переместить или скопировать.
В списке В книгу выберите пункт (Новая книга).
Нажмите OK.
В результате этих действий активные (сгруппированные) листы должны переместиться в новую книгу.
Если в книге содержатся макросы VBA, скопируйте модули в новую книгу.
Вариант 3. Сохранение файла в другом формате Excel
- В меню Файл выберите команду Сохранить как.
- В списке Тип файла выберите формат файла, отличный от текущего. Если используется приложение Microsoft Excel 2007 или более поздней версии, сохраните файл в формате XLSX или XLSM вместо XLS.
Вариант 4. Попробуйте сохранить книгу в другое место
Попробуйте сохранить книгу в другом месте, например, на локальном жестком диске, сетевом диске или съемном диске. Если вам удалось это сделать, возможны следующие причины проблемы:
- Конфликт с антивирусной программой
- Отсутствие необходимых разрешений
- Чрезмерная длина имени файла
- Конфликт общего доступа к файлу
Вариант 5. Попробуйте сохранить новую книгу в исходное место.
Чтобы сохранить новый файл Excel в первоначальном месте, выполните следующие действия:
Создайте книгу Excel.
В меню Файл выберите команду Сохранить как.
В диалоговом окне Сохранить как выполните указанные ниже действия.
- В поле Папка щелкните папку, в которой хранится исходная книга.
- В поле Имя файла введите имя для нового файла.
- Выберите Сохранить.
Если новую книгу удается сохранить в первоначальном месте, проблема может быть вызвана указанными ниже причинами.
- Чрезмерная длина имени файла
- Конфликт общего доступа к файлу
Если новую книгу не удается сохранить в первоначальном месте, проблема может быть вызвана указанными ниже причинами.
Если на диске достаточно свободного места, попробуйте способ 3.
Вариант 6. Попробуйте сохранить книгу в безопасном режиме
Перезапустите Windows в безопасном режиме и попробуйте сохранить книгу на локальный жесткий диск.
Примечания.
- Если для сохранения книги используется сетевая папка, перезагрузите Windows в безопасном режиме с поддержкой сети и попытайтесь сохранить книгу еще раз.
- Для устранения неполадок в Microsoft Excel 2010 и более поздних версиях нельзя использовать безопасный режим Windows.
Дополнительные сведения о запуске Windows в безопасном режиме см. Расширенные параметры запуска (включая безопасный режим).
Если книга сохраняется после перезагрузки Windows в безопасном режиме, попытайтесь сохранить файл еще раз. Для этого выберите в меню Файл пункт Сохранить.
Если книга не сохраняется после перезагрузки Windows в безопасном режиме, проблема может быть вызвана указанными ниже причинами:
итак, у меня пару вопросов, уважаемы эксперты.
Во-первых, почему когда я создаю макрос, после закрытия-открытия файла он исчезает, может куда нажаь нужно.
Во-вторых, я не знаю точно как сделать задание 2.3, как создатьмакрос (процедуру-подпрограмму).
Заранее всех благодарю, посмотрите, пожалуйста.Отключить макрос при закрытии книги
Всем добрый вечер! Подскажи пожалуйста, нужен был макрос который блокировал бы нажатия клавиш.DefaultValue не сохраняется при закрытии формы
Проблема. На форме есть комбобокс. Значения там меняются редко. Жесткая установка значения по.Переменная, значение которой сохраняется при закрытии программы
Как создать переменную, которая сохраняла бы свое, измененное в ходе работы программы, значение.Событие, возникающее при закрытии книги
Мужики, нужна ваша помощь! Есть файл Excel 2010.. В нем прописано несколько Sub'ов.. Где и что.Во-первых, почему когда я создаю макрос, после закрытия-открытия файла он исчезает, может куда нажаь нужно.
Во-первых, почему когда я создаю макрос, после закрытия-открытия файла он исчезает, может куда нажаь нужно.
надо сохранить с поддержкой макроса с расширением (.xlsx) скорее всего
Добавлено через 2 минуты
Кроме вас никто не знает лучше что именно надо, но по приведенному примеру можно лучше и эффективнее воспользоваться стандартны функциями Экселя и произвести условное форматирование, чем писать по задаче код
- студенты. Им задают задания в учебных заведениях. Студенты делятся на две группы: одним студентам нужна только работающая программа, другим нужно, чтобы программа была написана по каким-то правилам;
- люди, которые работают в программах MS Office, и которые хотят ускорить свою работу или избавиться от монотонной работы;
- программисты, которые сталкиваются с какими-то проблемами и спрашивают, как решить проблему.
формат Excel-файлов с поддержкой макросов - xlsm.
- в диапазоне "C3:H8"?
- определять максимальное число для всего диапазона "C3:H8" или для каждой строки, например, для строки "C3:H3" и т.д.?
В задании же ясно указано: для каждой строки.
И, кстати, функция дана готовая. ТС не может сам переписать в модуль?Спасибо Всем большое. До задания 2.2 я вроде верно сделала, ее делать не надо, я добавила просто все задание.
Начиная с задания 2.3- я не знаю как делать правильно, у меня не получается.
SoftIce, у меня почему-то как у Вас заливка красным цветом не получилосьСтранно, у меня всё работает, и ваш макрос "Цвет" тоже.
Если в выделенном диапазоне ячеек содержатся ячейки с отрицательным значением - то они заливаются красным
Удаление листов из книги при закрытии
Добрый день. нужно при закрытии файла удалить все листы, кроме листа "Макрос". Использую такую.Выполнение события при закрытии книги
1)Знаю как зделать выполнение события при открытии книги: Private Sub Workbook_Open() End Sub Ка.Закрытие книги Excel при закрытии формы
В общем хочу, чтобы при любом завершении моего приложения, срабатывал код закрытия книги. Через.При закрытии Form всё сохраняется, как очистить всё?
Здравствуйте, такой вопросик, при закрытии формы, хоть me.close(), хоть me.hide(), всё почему то.При закрытии одной книги записать информацию во вторую
Всем привет) столкнулся с проблемой: есть две книги в одну заношу информацию, и во вторую заношу.Как при закрытии книги эксель - убрать иконку
Добрый вечер. Помогите решить вопрос. При открытии файл эксель подгружает иконку (.ico) по.Удаление макроса после выполнения
Всем привет! Нужна помощь в доработке макроса. Имеется файл *.xls с макросом который объединяет.Развернуть файл после выполнения макроса
Всем добрый день. Хочу сразу сказать, что я полный чайник и только недавно начал изучать что такое.Виснет файл после выполнения макроса
Добрый вечер! Проблема следующая: после выполнения макроса по добавлению строк в файл excel -.После выполнения макроса не закрывает книгу
Добрый день, Возникла проблема закрытии книги при использование шедулера. То есть, При отрывание.Добавлено через 1 минуту
Если хотите сохранять как xlsx - нет нужды предварительно возиться с удалением макросов, тем более что это требует доступа к проектам.
SoftIce,
Уверен, что активна нужная книга.
Hugo121, дык все равно выскакивает предупреждение, как его побороть?Решение
В xlsm тоже не сохраняется ?
Добавлено через 48 секунд
Или Вам просто предупреждение мешает?Добавлено через 3 минуты
Да. вообще не сохраняет.
Если макрос вот такой то вообще никакого сохранения по указанному пути не происходит.Добавлено через 2 минуты
Урааа.Отработал так как надо.
Спасибо.Добавлено через 4 минуты
Вот хрень перестал работать, все указанное в макросе выполняет, а сохранения не происходит как и закрытия документа.
То есть выходит что вот этот участок не выполняется почему-то.Вам же выше написали, что нужен формат xlsm
НО мне то нужно сохранить без макросов в .xlsx
Добавлено через 35 минут
УРА.
Разобрался все заработало.
Глупая ошибка прошу у всех прощения. У двух разных макросов одна и та же комбинация клавиш была.
Вот код который работает на ура.Hugo121, Вы сами знаете что делают эти строки. :-)
Вот файл для которого применяется данный макрос.
пример.zip
Если удалить указанные вами строки, будет выскакивать ошибка при сохранении книги.
Если сможете предложить другой способ, буду премного благодарен.Я не спрашивал что делают, я спрашивал в чём смысл?
В новом варианте допустим даже в вроде бесполезных строках 27-29 можно найти смысл при определённых требованиях, но вот зачем удалять в книге проект, если затем эти изменения не сохраняются, или зачем затем возможно (отсюда не видно) по два раза (но если по разу - то тоже зачем первый?) заменять формулы на значения?Hugo121, ранее использовался другой способ сохранения файла и наличие в разделе ЭтаКнига кода макроса приводило к остановке макроса и ошибке. В новом варианте этот рудимент удалён.
Выделение ячеек нужно для возврата фокуса при последующем открытии файла в начало. (у меня сложилось впечатление что excel запоминает где была последняя активная ячейка)
К сожалению коднет примера, а если брать тот что выше выше выше. - там нет макроса.
А тот макрос, что есть в теме - не работает ибо нет у меня таких файлов.
Тупик.Читайте также: