Редактирование и копирование макросов
В предыдущем уроке мы рассмотрели, что такое макросы, как их записывать, как запускать… Здесь же речь пойдет о том, как выглядит записанный макрос, как его отредактировать или скопировать.
зарегистрироваться на сайте
обновите страницу по этой ссылке или кнопкой F5
Комментарии
Добрый вечер Дмитрий! Большое спасибо за уроки. Когда-то макросы были для меня чем-то чужим, непонятным, я всегда обходила их стороной и не применяла их в своей работе. Но сейчас я поняла, сколько много времени я тратила впустую.Ваши объяснения такие простые, понятные, теперь я их начинаю применять в своей работе. Большое Вам спасибо.
Спасибо за урок.Очень нравятся Ваши уроки
Здравствуйте Дмитрий! Спасибо за уроки.Теперь сколько времени впустую не трачу.Ваши объяснения просты и понятны. Большое Вам спасибо.
Огромное спасибо за уроки,доступно и доходчиво!
Спасибо большое! Мне очень понравились уроки! Вопрос: можно ли изменять макрос, написанный в Excel 2003 (или более ранних версий) в Excel 2007, 2010?. Попробывала открыть файл, чтобы исправить орфографическую ошибку в существующем, но в левой панеле в папке Модуль не отображается написанный макрос для последующего редактирования. Прим.: предварительно разрешила изменение макросов при открытии файлов. Заранее благодарю!
Доброй ночи, Оксана.
Ответ: да, можно.
Макросы, написанные в одной версии Excel, должны быть без проблем видны и в другой версии. В процессе выполнения Ваша программа может выдавать ошибки в ряде случаев, но сам код ее должен быть виден и доступен для редактирования. Скорее всего, куда-то не туда смотрите.
Дмитрий, спасибо за то, что нашли время ответить. Мне очень интересна эта тема, поэтому буду настойчива по-прежнему. Я сделала принтскрины своей проблемы. Скажите, можно ли обратиться к вам для разъяснений?
Ответил Вам на почту.
Здравствуйте, Дмитрий!
Отличные уроки! Все доходчиво и понятно, спасибо!
Я работал больше с формулами, но от их написания иногда дуреешь, и не дай бог ошибешься..., замучаешься бегать по ссылкам. Макросов- шарахался. Благодаря Вашим урокам прозрел. Спасибо!
Решил начать с азов. Правда не все получается. При редактировании макросов, Alt+F11, открывается окно редактора, но оно пустое, почему-то не открываются окна с левой стороны: проводника проекта и окно свойств?
Добрый вечер, Сергей.
Спасибо.
Насчет окон: такое очень может быть. Если не отображаются автоматически - откройте их вручную: в каком-то из уроков я показывал, что они открываются из меню View-Project Explorer и View-Properties Window (или по горячим клавишам: соответственно, Ctrl+R и F4).
Здравствуйте, Дмитрий!
Спасибо, за внимание, извините, я почти так и сделал, сначала написал вопрос, а потом, из-за своего пробела в английском, методом "научного тыка" полазил по меню и открыл эти окна ч/з окно: Project Explorer (Ctrl+R).Извините, что беспокою по пустякам, я только учусь.
Спасибо, Вам огромное, за такие классные уроки, Очень Доходчиво и наглядно и применительно к практике. Раньше, для меня, было освоение макросов эквивалентно академическому образованию, я с завистью смотрел на работу программистов, для меня это было не постижимо, так , при производственной необходимости, "баловался" формулами и психовал когда "слетали" все ссылки при не правильном удалении какой-нибудь строки или окна. Пытался освоить XL самостоятельно, но один лишь вид "кирпиче-подобных" пособий приводил в уныние и сонное состояние.
На тренинги надо идти с какой-то базой, да и что-то не "уловил" уже не поймаешь, и переспрашивать не удобно..., все ведь вокруг такие умные, а ты один такой тупой пришел...
Вы мне своими уроками, просто, открыли "окно" в другой мир.
Спасибо Вам, еще раз и не раз, ОГРОМНОЕ!
С Уважением, Сергей.
Я просто в восторге, что так доступно объяснено про "страшное" слово МАКРОСЫ. На работе, при трудоустройстве у вновь принимаемых сотрудников интересуются- есть ли знания для написания макросов. Мне понравилось-для "чайника" все просто и доступно. Еще не пробовала писать сама- пока изучаю материал.
Класс! Очень полезно! Спасибо Огромное!
Здравствуйте, Дмитрий! Огромное Вам спасибо за ваши прекрасные и доходчивые уроки! Мне все понятно и я прекрасно осваиваю Ваши уроки по макросам. Теперь я имею представления и могу объяснить, что такое МАКРОСЫ. Спасибо Вам и дай бог Вам здоровья, счастья, успехов во всем.
Спасибо! В сё подробно и главное вы объясняете возможные ошибки, и как их исправить.
Спасибо, все действительно понятно, но я попала на ваш сайт, когда искала как создать пользовательскую функцию. Это мне до сих пор непонятно
Добрый вечер, Ирина.
Основы создания пользовательских функций рассматриваются в уроке №11.
Но смотреть уроки лучше по порядку - так будет понятнее.
Спасибо, очень рад что есть такие люди!
В ВУЗе редко встретишь преподавателя, чтоб все просто и ясно.
Здравствуйте!Вы отличный педагог. Спасибо Вам!
Дмитрий, спасибо Вам за уроки. Доступно, наглядно, предельно информативно. Благо дарю.
Дмитрий!
Хотелось бы получить более подробную информацию по проводнику проекта (верхнее левое окно).
В частности, непонятно почему в Вашем уроке при Ваших щелчках на объектах, представленных в маленьком верхнем окне,в правом окне ничего не отображается? А потом вдруг (при другом щелчке на модуле, может двойном?) появляется справа содержимое кода. Кроме того, хотелось бы узнать зачем в этой структуре отображается объект "книга", если уже есть объекты "листов", а они, собственно, и составляют понятие "книги". Может это делается из-за различия свойств "листов" и "книги"?
Наконец, проясните синтаксис команды msgbox. В частности, наличие или отсутствие парных кавычек, в которые заключается текст в скобках. В каких случаях можно обойтись без кавычек?
С уважением,Игорь.
Добрый день, Игорь.
1. Совершенно верное предположение - содержимое кода отображается при двойном щелчке на каком-либо объекте в Проводнике проекта.
2. Тоже в правильном направлении мыслите - у "книги" и "листа" различные свойства, поэтому в составе проекта помимо отдельного объекта для каждого рабочего листа присутствует еще и объект, "отвечающий" за свойства книги в целом.
Кроме того, в нем также есть свой модуль, где можно писать код: это имеет смысл, например, если какая-то процедура относится не к какому-то конкретному листу, а к любому листу (например, тому, который сейчас активен) или же к книге в целом.
Ну, и, наконец, этот объект необходим для обработки событий, происходящих именно с книгой, а не с листами: открытие, закрытие, сохранение файла и др. (но обработка событий - это уже более сложный материал для "продвинутого" уровня, поэтому здесь углубляться не будем)
3. С MsgBox все просто: текст, который должен быть выведен в сообщении, надо заключить в кавычки:
MsgBox("Привет, мир!")
Если же в тексте уже содержатся кавычки (например: Кинокомпания "Коламбия Пикчерс" представляет...), то их надо удвоить (т.е. поставить вместо одной кавычки сразу пару):
MsgBox("Кинокомпания ""Коламбия Пикчерс"" представляет..."
Без кавычек совсем можно обойтись, если выводить что-то, что содержится в переменной, в ячейке листа либо еще где-то:
MsgBox(ТекстДляСообщения) (здесь подразумевается, что в переменной ТекстДляСообщения уже заранее сохранен нужный текст)
или MsgBox(Cells(1,1))
т.е. в тех случаях, когда содержимое сообщения не указывается напрямую в коде, а берется откуда-то еще.
Дмитрий!
Спасибо за подробный ответ #1802 Дмитрий Быстров (10.02.2014 14:22:14).
С уважением, Игорь.
Дмитрий, большое спасибо за урок. У меня постепенно проходят страхи перед словом "Макрос". Надеюсь на дальнейшее плодотворное сотрудничество
Очень понравился урок. Спасибо. Буду использовать на практических занятиях с учениками
всё красиво!!!
Большое спасибо за уроки! все очень понятно!)
Добрый день! Подскажите, что не так! Я захожу в редактор VB и слева есть только верхние окошки, а нижних нет, когда нажимаю Modyles чтобы редактировать макрос, то там пусто , никакие окошки не выходят
Добрый день, Татьяна.
Выше в комментариях здесь же уже отвечал на этот вопрос: см. мой ответ Сергею - №1546 от 24.10.2013
Спасибо, я прочитала, нажав F4 нижнее окошко открылось, но содержание модуля пустое...открывается справа пустое окно, нет содержания для редактирования..... Вы уж простите за глупые вопросы, но что-то не получается у меня....Спасибо
Может быть, Вы сохранили макрос в другую книгу (например, в "личную книгу макросов")? Или по какой-то причине код макроса вообще не сохранился.
Попробуйте открыть код другим способом: в меню выберите "Макросы", в открывшемся списке существующих макросов выберите нужный и нажмите справа кнопку "Изменить". Где бы этот выбранный макрос ни находился, он будет открыт в редакторе VBA.
очень доступно
очень доходчиво
большое вам спасибо!
Добрый день Дмитрий! Подскажите как можно скачать этот и другие уроки себе на комп, чтобы они были всегда под рукой? Заранее благодарю за скорый ответ!
Добрый день, Александр.
Данные уроки предназначены только для просмотра на сайте, скачивание их на данный момент не предусмотрено.
Да, отлично, спасибо! При том, что доводилось писать многоэтажные формулы и более-менее разбираться в Excel, слово "макрос" всегда навевало тоску. Прекрасное начало (первые два урока), надеюсь - дальше будет не хуже.
Добрый день, Дмитрий.
Понятное изложение материала. Спасибо.
Только благодарность за Ваш труд, Дмитрий! Спасибо, что есть альтруисты на Земле.
Добрый день, Дмитрий. Все просто и доступно. Спасибо! Буду использовать на практике.
Не получается удалить ненужный макрос. Пишет Изменить макрос в скрытой книге невозможно. Закройте все документы и выберите команду "Показать" в меню "Файл".
тот же вопрос как у Евгения № 2700: Не получается удалить ненужный макрос. Пишет Изменить макрос в скрытой книге невозможно. Закройте все документы и выберите команду "Показать" в меню "Файл". Я все открытые ехсел документы и книги закрыл-все равно ненужный макрос не удаляется и не изменяется, даже закрыл программу ехсел и снова открыл, но макросы старые остались и не корректируются на новые фамилии и не удаляются. Пишет то же сообщение "изменить в скрытой книге невозможно". Повторите Ваш ответ Евгению, может не в личку, а опубликовать, потому, что многие, я думаю, потом столкнутся с проблемой "макрос не редактируется и не удаляется". Спасибо заранее. С уважением
Добрый день.
Если не получается удалить макрос через меню "Макросы" (выдается указанное Вами сообщение) - удалите его вручную в среде разработки VBA:
1. Переходим в среду разработки (Shift+F11)
2. В окне "Project explorer" находим файл "VBAProject(PERSONAL.XLSB)" (если это окно не открыто - открываем с помощью Ctrl+R)
3. В группе "Modules" в этом файле находим модуль с искомым макросом и просто стираем в этом модуле ненужный код.
4. Сохраняем исправленный файл.
Все.
Если хотите вообще удалить личную книгу макросов - сделайте поиск на компьютере файла PERSONAL.XLSB и удалите его (обычно путь к нему будет примерно таким: C:\Users\тут имя текущего пользователя\AppData\Roaming\Microsoft\Excel\XLSTART, но может и отличаться)
Спасибо!
Довольно быстро сообразил, что находим модуль с искомым макросом - это дважды щёлкаем по нему левой кнопкой.
Файл PERSONAL.XLSB второй день ни на одном диске не находится. W 8.1
Теперь не очень и нужно.
С искренним уважением и благодарностью!!!
Расширение у файла может быть другое - поищите тогда с маской: "personal.*"
молодес слушай какой - ты умный , вот молодес
Забанен за фамильярность и сарказм.
Большое спасибо! Очень понятно, доступно и просто! Слушать Вас- одно удовольствие! Скажите, пожалуйста, как написать макрос, который в ячейке , предположим, А1 отображал число печатных листов ( если можно, то без привязки к горячим клавишам) спасибо заранее!
Добрый день, Наиля.
Ответил Вам здесь:
www.excel-eto-prosto.ru/lessons/analiz_makrosa?s=page=6#comment2871
Здравствуйте Дмитрий. Огромное спасибо.
простите конечно но как то начало уроков начились с составлением макросов а не для чего эта программа предназначена и в чем преимущества, легкость и т. д.для чего она служит что можно в ней создовать а то ну есть так есть и что
и звук слабый
Добрый вечер, Илья.
Данный сайт посвящен вопросам именно автоматизации работы в MS Excel: предполагается, что работать в самом Excel мы уже умеем, и довольно хорошо, и теперь на первый план выходит задача, как автоматизировать те трудоемкие задачи в Excel, которые мы уже выполняем вручную.
Если Вы с MS Excel знакомы слабо, или не знакомы вовсе - тогда изучать материалы данного сайта Вам еще рановато. В этом случае рекомендую сначала пройти какие-либо курсы по Excel для новичков - благо, в подобных курсах (в том числе и видео-) сейчас дефицита нет.
Дмитрий! Мне очень нравятся Ваши уроки! Это здорово так просто рассказывать о сложном!
Скажите, пожалуйста, есть ли у Вас уроки по созданию и работе со сводными таблицами?
Записываю макросы давно и даже меняю их, но увас нахожу некоторые нюансы, которые не знала.Спасибо!
Благословить Вам Бог! Желаю здоровье и успеха в благородное Ваше дело.
Здравствуйте, Дмитрий!
У меня к Вам такой вопрос:
Есть книга в которой периодически формируются данные по введенным формулам, необходимо данные получаемые в данной книге, переносить в другие книги. Данные меняются раз в месяц, книги называются соответственно месяцу.
Пробовал записать макрос в одной книге - получилось, но при копировании данной книги и сохранении ее под другим именем, макрос начинает "ругаться" и показывает, что неправильно записано имя текущей книги... возможен ли выход из этой ситуации?
Добрый день, Игорь.
Да, если в макросе записано, что нужно сохранить данные в файл "март.xls", а вместо этого работа ведется уже в файле "апрель.xls", то, конечно, будет происходить ошибка - макрос сам не догадается, что нужно брать более свежий файл, это Вы должны ему указать.
Выходы из ситуации могут быть разные.
1) Можно в коде макроса написать, что в такой-то период файл будет называться "март", в другой - "апрель" и т.д. Но это не очень удобно.
2) Можно сделать так, чтобы месяц (и имя файла) определялось не по текущей дате, а по значению в какой-то специальной ячейке. Тогда изменяя это значение, Вы сможете управлять работой программы и регулировать работу с файлами.
3) Можно сделать так, что перед копированием программа будет спрашивать пользователя, с каким файлом нужно работать в этот раз (этот вариант удобен, если строгой зависимости нет, и только пользователь может решить, который файл нужен).
4) Можно просто реорганизовать работу с файлами таким образом, чтобы текущий файл всегда имел одно и то же имя, а "архивные" файлы будут называться по-другому. В этом случае в коде макроса ничего менять не потребуется - имя-то всегда одинаковое будет.
Можно еще что-нибудь придумать в зависимости от детальных нюансов задачи. А какой из вариантов будет правильнее и удобнее - это уже нужно определять, глубже вникая в задачу и изучая файлы - просто по поверхностному описанию сложно сказать.
и еще... у меня не воспроизводятся Ваши уроки... пишет:Video not found or access denied: http://www.excel-eto-prosto.ru/pages/lessons/lesson02/redaktirovanie_makrosov.mp4
что с этим делать?
Уверяю Вас, файл видео на сервере имеется - специально сейчас проверил с двух браузеров и отдельно - с телефона.
Тут два варианта:
1) либо были временные проблемы на сайте - тогда попробуйте зайти через некоторое время и проверить снова
2) либо проблемы в Вашем браузере, который почему-то не запускает видео - тут могу посоветовать только попробовать зайти с другого браузера или компьютера и проверить оттуда.
Могу подтвердить: уроки воспроизводятся очень хорошо.
Спасибо,очень просто всё обьясняешь, по сравнению с другими
Salam Dmitriy! Menya zowut Rovshen ya iz Turkmenistana! Ya s bolshim udovolstwiyem smotryu washi video uroki, i mnogomu naucilsya blogodorya wam! Spasibo wam ogromnoye!
Доступно и понятно!Круто!!!
могут только зарегистрированные пользователи.
Ваше имя и тот e-mail, который был указан при регистрации)
В любой момент времени вы можете отказаться от получения сообщений.
Полезно, наглядно, понятно, существенно расширила свои знания благодаря данным урокам - спасибо, Дмитрий)
Добрый день, Анатолий.
Подробнее о создании программы для тестирования было рассказано в специальном платном мастер-классе "Создание программы по тестированию". Приобрести его можно по этой ссылке.
Что касается счетчика времени - в мастер-классе такого функционала не было, но позднее я доработал созданную в нем программу и добавил в нее такой счетчик - при приобретении мастер-класса я вместе с ним предоставлю и доработанную версию программы.
Спасибо! Классно. Где можно списать Вашу программу для шаблона? Счетчик времени на тестирование как вставить?
Здравствуйте. Подскажите, а можно ли сделать Q-код в таблице, но чтоб там было видно наименование упаковки, вес, дата прихода, наименование контрагента и тд. И при каждом изменении данных, автоматически делался Q-код?
Добрый день, Дмитрий. Я случайно увидела ваши видео в ютубе. Посмотрела и мне стало интересно изучить макросы. Перешла по ссылке и просмотрела часть бесплатных видео и мне очень понравилась ваша манера преподавать просто без лишних слов. Скажите, пожалуйста, а как сделать выпадающий...
Здравствуйте В видео "Автоматизация заполнения бланка документа (платежного поручения)" говориться, что можно скачать файлы с макросами, о которых идет речь. Не могу найти. Подскажите, пожалуйста,где скачать Файл?
Благодарю Вас хотя у меня оффис 97 все полчается
здравствуйте, Дмитрий... подскажите пожалуйста такой момент, для того, чтобы сделать макрос с фамилиями, я сделала перечень с фамилиями и суммами.. так вот у меня слово фамилия при сортировке улетает в самый низ))) то есть оно тоже сортируется... что не так в моей таблице?
Спасибо большое.Очень полезная информация
Замечательные уроки, большое спасибо автору. Все очень доходчиво, без лишних заморочек.