Не могу посмотреть код макроса excel

Есть excell файл (.xlsm) в котором срабатывает программа: генерация случайных чисел в определенных ячейках при сохранении документа. Возникла необходимость внести изменения в программу. Но не могу никак вывести код. Вкладка Разработчик есть, параметр «Включить все макросы (не рекомендуется, возможен запуск опасной программы)» выбран. Но в окне макросов пусто. И при Alt F11 тоже пустое окно открывается. Подскажите, пожалуйста, как открыть код?
Знания экселя на самом примитивном уровне.


  • Вопрос задан

    более трёх лет назад

  • 5510 просмотров


Download Article

An easy-to-use guide to find and manage macros in your Excel workbook


Download Article

This wikiHow teaches you how to see a list of macros in your Excel workbook, as well as how to view each macro’s details in the Visual Basic Editor. Before you can work with macros, you’ll need to enable the Developer tab in Excel—fortunately, this is super easy to do.

Steps

  1. Image titled View Macros in Excel Step 1

    1

    Open a workbook in Excel. You can double-click the name of the workbook to open it in Excel. Alternatively, open Excel first from the Windows Start menu or your Mac’s Applications folder, click Open, and then double-click the file.

  2. Image titled View Macros in Excel Step 2

    2

    Enable the Developer tab. If the Developer tab is enabled, it’ll be in the menu bar at the top of Excel. If you don’t see it, here’s how to enable it:

    • Windows:

      • Click the File menu and select Options.
      • Click Customize Ribbon.
      • Select Main Tabs from the «Customize the ribbon» drop-down menu.[1]
      • Check the box next to Developer and click OK.
    • macOS:

      • Click the Excel menu and select Preferences.[2]
      • Select Main Tabs under «Customize the Ribbon.»
      • Check the box next to Developer.
      • Click Save.

    Advertisement

  3. Image titled View Macros in Excel Step 3

    3

    Click the Developer tab. It’s at the top of Excel.

  4. Image titled View Macros in Excel Step 4

    4

    Click Macros. It’s on the left side of the toolbar. This displays a list of macros in all open workbooks by default.

    • To see macros in a particular workbook only, select that workbook’s name from the «Macros in» menu.
  5. Image titled View Macros in Excel Step 5

    5

    Select a macro and click Edit. This displays the macro in the Visual Basic Editor.

  6. Advertisement

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

Thanks for submitting a tip for review!

References

About This Article

Article SummaryX

1. Open a workbook.
2. Click the Developer tab.
3. Click Macros.
4. Select a Macro.
5. Click Edit.

Did this summary help you?

Thanks to all authors for creating a page that has been read 41,480 times.

Is this article up to date?

 

Lari

Пользователь

Сообщений: 391
Регистрация: 07.09.2015

Доброго времени суток!
Прошу помочь со следующим вопросом:
Прислали тестовое задание где нужно построить сводную таблицу, но  в формате xlsb и с комментом включить макросы.
Возможно там макрос который будет считать время выполнения задания, а может и вирус.
Когда открываю файл и пытаюсь посмотреть код, то никаких макросов я не нахожу, при этом я не нажимаю клавишу «Включить содержимое».
Вопрос, как посмотреть код макроса не включая макросы.
Вкладка «Разработчик» у меня активирована. Разработчик-Макросы и там только мои макросы из Personal.
Файл не прилагаю.

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

Проект может быть запаролен,
Его может не быть и используются макрофункции как в именах так и в старом формате на листе макросов.

По вопросам из тем форума, личку не читаю.

 

Lari

Пользователь

Сообщений: 391
Регистрация: 07.09.2015

БМВ,можно вам в личку написать по этому вопросу? (не за бесплатно)

 

сделайте копию (сколько нужно) и экспериментируйте с этими копиями сколько душе угодно это никак не повлияет на исходный файл (положите его в архив, архив на флэшку,, а флешку положите в сейф) и приступайте к экспериментам
удвчи!

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

#5

23.06.2020 12:09:13

Цитата
Lari написал:
БМВ ,можно вам в личку написать по этому вопросу? (не за бесплатно)

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

По вопросам из тем форума, личку не читаю.

 

Lari

Пользователь

Сообщений: 391
Регистрация: 07.09.2015

Ігор Гончаренко,так вопрос не в том что я поврежу исходник, а в том что если я запущу макрос, не запустит ли какой вирус.
Как понять что за макросы там включатся?

 

Lari

Пользователь

Сообщений: 391
Регистрация: 07.09.2015

#7

23.06.2020 12:14:53

Цитата
БМВ написал:
Даже обкуренный медведь понимает что его разводят.

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

Изменено: Lari23.06.2020 12:16:27

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

#8

23.06.2020 12:18:14

Цитата
Lari написал:
не запустит ли какой вирус.

Теперь понятно, зачем Вы медведю хотите сбросить файл )

 

возьмите (подготовьте) компьютер на котором операционная система и офис
запускайте свой файл
максимум чем вы рискуете — нужно будет переустановить операционную систему и офис

и перестаньте терзаться мыслями «что будет если?»
делайте что-нибудь и увидите что будет
и вообще…
зачем вам нужен файл, которые даже ссыкотно открыть? (извините за бедность речи)
нужен — открывайте, не нужен — удалите и забудьте о нем и заодно приостановите всякие сношения с людьми, которые присылают вам такие файлы (не ищите приключения на свою… операционку) хотя, если без риска жизнь пресна и скучна, то последнее не обязательно
удачи!

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

Lari

Пользователь

Сообщений: 391
Регистрация: 07.09.2015

Ігор Гончаренко, с такой логикой, когда нужно проверить есть напряжение в сети или нет, можно совать туда пальцы))

Изменено: Lari23.06.2020 12:27:52

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#11

23.06.2020 12:32:27

Цитата
Lari написал:
когда нужно проверить есть напряжение в сети или нет, можно совать туда пальцы

Правильно ли я понимаю, что именно поэтому вы хотите, чтобы медведь совал пальцы? :)
Поставьте LibreOffice и смотрите код.

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

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

Ну если хотите  — присылайте.

По вопросам из тем форума, личку не читаю.

 

Ігор Гончаренко

Пользователь

Сообщений: 13746
Регистрация: 01.01.1970

#13

23.06.2020 12:33:13

Цитата
Lari написал: с такой логикой, когда нужно проверить есть напряжение в сети или нет, можно совать туда пальцы))

правильно!
я еще, обычно, в этот момент сжимаю в зубах отвертку
максимум, при высоком напряжении — я перекусывал отвертку (и это было всего-то пару раз)

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

#14

23.06.2020 12:39:40

Off

Цитата
Андрей VG написал:
Поставьте LibreOffice и смотрите код.
Цитата
Lari написал:
когда нужно проверить есть напряжение в сети или нет, можно совать туда пальцы))

Розетка вскрывается, и напряжение проверяется тыльной стороной ладони :-), но только к одному из контактов. В этом случае судорогой отбрасывает руку от места контакта :-)
Отвертка — да она обзательно зажимается в зубах, а чем её держать если одна рука — пробник, а вторая отсутствует после предыдущей пробы.  

Хорошая тема для предпраздничного ( у некоторых) офтопа

По вопросам из тем форума, личку не читаю.

 

Андрей_26

Пользователь

Сообщений: 647
Регистрация: 30.01.2018

#15

23.06.2020 12:58:49

Цитата
Lari написал:
Прислали тестовое задание где нужно построить сводную таблицу, но  в формате xlsb и с комментом включить макросы.

Ну так сохраните файл в формате xlsx, таким образом все макросы удалятся. И делайте свое задание спокойно.

 

Lari

Пользователь

Сообщений: 391
Регистрация: 07.09.2015

#16

23.06.2020 13:09:55

установил либреофис как порекомендовал Андрей VG,
я так понял что это время начала и конца выполнения задания

Код
Rem Attribute VBA_ModuleType=VBADocumentModule
Option VBASupport 1
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Worksheets("Инфо").Activate
lLastRow = Cells(Rows.Count, 3).End(xlUp).Row
Range("C" & lLastRow + 1) = Now
Worksheets("задание").Activate
ActiveWorkbook.Save

End Sub

Private Sub Workbook_Open()

Worksheets("Инфо").Activate
lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
Range("A" & lLastRow + 1) = lLastRow - 1
Range("B" & lLastRow + 1) = Now
Range("D" & lLastRow + 1) = Application.UserName
Worksheets("задание").Activate

End Sub

Изменено: Lari23.06.2020 13:15:47

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

верно , с  протоколом, сколько раз запускали закрывали.

По вопросам из тем форума, личку не читаю.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

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

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Lari, у Вас такие злобные преподаватели, что могут в задании прислать вирус?

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

#20

23.06.2020 13:18:51

Цитата
vikttur написал:
что злобные вирусы не погрызут папки, можете спокойно выполнять задание

Сижу на даче, работаю дистанционно. Кот паршивец удирает с участка, достало выуживать, при этом он на меня за это обижен, сильно. Так читаю:
что злобные вирусы не погрызут тапки.
Видимо опасаюсь, за свои   :-)

Изменено: БМВ23.06.2020 13:19:32

По вопросам из тем форума, личку не читаю.

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

#21

23.06.2020 13:25:50

Цитата
БМВ написал:
Кот паршивец

ээээ, я бы попросил! :)

 

Lari

Пользователь

Сообщений: 391
Регистрация: 07.09.2015

#22

23.06.2020 13:26:42

Цитата
Lari написал:
Плачу 300р., за то что бы я переслал файл с просьбой этот файл удалить после просмотра, и сообщить что делают макросы которые в этом файле.

БМВ,куда вам можно перечислить благодарность?

 

Lari

Пользователь

Сообщений: 391
Регистрация: 07.09.2015

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

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

#24

23.06.2020 13:29:19

Цитата
Lari написал:
БМВ ,куда вам можно перечислить благодарность?

Есть у меня номерок карточки одного паршивца, но так как коллективный разум был, то он без обеда сегодня :-) Так сказать на пользу фигуре.

По вопросам из тем форума, личку не читаю.

 

1. фиксируете в памяти точное время, когда открыли файл
2. выполняете задание, час, два, сутки, двое….
3. устанавливаете в системе время зафиксированное в п.1 + 1 минута (2, 5)
4. закрываете файл
5. возвращаете в систему реальное время
6. отсылаете файл с заданием

Поздравляю! вы справились с заданием приблизительно за одну (2, 5) минут!

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

:D  

 

Lari

Пользователь

Сообщений: 391
Регистрация: 07.09.2015

Ігор Гончаренко, если обсуждать способы мухлевания то если я не запускаю макросы при открытии , то и время не будет считаться.
Тогда выполняю так: копирую данные на основании которых надо селать задание, продумываю в другом файлике.
А в конце в этом файлике выполняю за нужное время с включением макросов.
Но я тк делать не буду, потому что если я напущу пыли в глаза а потом попаду в реальный бой, то поплачусь за это.

Изменено: Lari23.06.2020 13:38:07

 

см. сообщение #4
делаете копию файла. открываете ее, решаете задание
если считаете что показали достойный результат — высылаете эту копию обратно.
нужно быстрее? создаете, открываете след. копию, работаете с ней задание-то уже не ново и что делать понятно), закрываете, отсылаете.эту копию
повторяете до полного удовлетворения

к чему 20 последующих сообщений, если в сообщении #4 был дан рецепт решения проблемы?

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

Игорь, ну если честно, то открывая файл с макросами на пк подключенном к инету через NAT вероятность того что все что доступно текущему пользователю будет благополучно выгружено во внешний мир или просто испорчено — есть. Так что рядовая копия — это не совсем то что хотелось бы. А даже тут были примеры которые корежили интерфейс. Так что …

По вопросам из тем форума, личку не читаю.

 

Lari

Пользователь

Сообщений: 391
Регистрация: 07.09.2015

#30

23.06.2020 14:37:12

Большое спасибо за помощь всем принявшим участие!

Студворк — интернет-сервис помощи студентам

Добрый день!

Есть файл, созданный в Excel 2016. Файл содержит vba-код. В процессе работы код был дописан, файл сохранён, Excel закрыт. При новой попытке открытия этого файла Excel вылетает напрочь. Если попробовать запустить файл с ярлычка на рабочем столе, то появляется первоначальное окошко Excel, которое тут же гаснет и сам Excel не запускается. Другие файлы запускаются нормально (в т.ч. рабочая копия, сохранённая сутки назад), видимо проблема не в Excel, а в файле с кодом (код запускается при открытии документа).

При попытке открыть восстановленные документы (файл в них присутствует) Excel также вылетает. При попытке открыть только восстановленные элементы (там же) выдается сообщение «Ошибки в файле «ХХХ» не найдены. Восстановление не требуется». После нажатия «ок» — Excel снова вырубается.

Отключил в параметрах Excel все надстройки, элементы управления, макросы — не помогает. Может, что-нибудь ещё можно отключить?

Кто-нибудь знает в чём дело и как это победить? Последнюю копию файла делал сутки назад. Кода за это время прилично прибавилось. Есть ли способы вытащить vba-код из проблемного файла?

Потерять сделанное за сутки жалко. Помогите, плз.

Если Вы задались вопросом «Как запустить макрорекордер и записать макрос в Excel?» то эта статья для Вас. Рассмотрим процесс запуска макрорекордера и записи макроса в разных версиях Excel. Для большей определенности запишем макрос, выделяющий столбец «А» электронной таблицы. 

Microsoft Excel 2003

Запускаем приложение, заходим в главное меню Сервис/Макрос и выбираем пункт «Начать запись…»

Macrorecorder_Excel_2003-1

После выбора пункта меню «Начать запись» появляется окно, в котором присваиваем нашему макросу имя «Макрос1», сочетание горячих клавиш присваивать не будем, для сохранения выберем личную книгу макросов, описание оставим то, которое есть по умолчанию. Жмем ОК.

Macrorecorder_Excel_2003-2

С этого момента все наши действия записываются макрорекордером, автоматически переводятся на язык программирования Visual Basic for Application и записываются в модуль личной книги макросов.

В самом начале статьи мы условились, что нашим действием будет выделение столбца «А», поэтому выделяем столбец и останавливаем запись выбором меню «Остановить запись», которая находится также в меню Сервис/Макрос.

Macrorecorder_Excel_2003-3

Вот собственно и все, макрос записан.

Посмотрим теперь, как работает записанный нами макрос. Для этого снимем выделение со столбца, зайдем в меню Сервис/Макрос/Макросы либо нажмем сочетание клавиш Alt+F8, выберем из списка макрос с нашим названием «Макрос1» и нажмем кнопку «Выполнить». Обратите внимание, что с помощью этого окна можно не только запустить макрос, можно также внести изменения в его программный код, а также удалить макрос.

Macrorecorder_Excel_2003-4

Результатом выполнения макроса станет выделенный столбец «А», строго в соответствии с тем действием, которое мы записали. Если записанный Вами макрос не запустился, то Вам следует изменить параметры системы безопасности.

Для просмотра программного кода записанного макроса, запускаем редактор Visual Basic через меню Сервис/Макрос/Редактор Visual Basic, либо нажатием сочетания клавиш Alt+F11. В открывшемся окне редактора видим новый модуль Module1 в проекте VBAProject(PERSONAL.XLS), в котором сохранен программный код записанного нами макроса.

Macrorecorder_Excel_2003-5

 

Microsoft Excel 2007

Запускаем приложение. Кнопка «Начать запись…» в Excel 2007 расположена сразу в нескольких местах, самое доступное из которых в левом нижнем углу окна приложения, в строке состояния.

Macrorecorder_Excel_2007-1

Еще одно расположение откуда доступен запуск макрорекордера на вкладке «Вид», в группе «Макросы». Прежде чем продолжить, остановимся на том, что такое лента и что такое вкладка на этой ленте. Лента — это широкая полоса в верхней части окна программы, на которой размещены тематические наборы команд, собранные во вкладках и в группах. Вкладка в свою очередь, представляет собой часть ленты с командами, сгруппированными по задачам, которые обычно выполняются совместно. Группа — это еще более локализованный набор команд, сформированный по принципу наибольшей близости по типу выполняемой задачи. Непосредственно в группах уже находятся кнопки для выполнения команд. 

Macrorecorder_Excel_2007-2

И еще одно место где можно включить запись макроса макрорекордером — это вкладка «Разработчик», в том случае, если она предварительно была отображена на ленте. По умолчанию эта вкладка в Excel 2007 не отображается.

Macrorecorder_Excel_2007-3

На вкладке «Разработчик» расположены все доступные инструменты для работы с макросами. О том как ее отобразить описано в статье «Работа с макросами VBA. Инструменты для работы с макросами«.

После нажатия, кнопка «Запись макроса» меняет свое название на «Остановить запись». Выполнение и просмотр кода макроса осуществляется точно также, как в Excel 2003. 

Microsoft Excel 2010

В Excel 2010 расположение кнопок записи и остановки записи макроса абсолютно аналогичное версии Excel 2007. Это левый нижний угол окна приложения в строке состояния, вкладка «Вид» и вкладка «Разработчик». В этой версии Excel, редактор Visual Basic устанавливается как отдельный компонент пакета с наименованием «Общие средства Office» и называется «Visual Basic для приложений», поэтому если у Вас возникли проблемы с доступностью макрорекрордера или редактора Visual Basic, то Вам необходимо вернуться на этап установки пакета Microsoft Office и доустановить недостающий компонент. Кроме того, может возникнуть проблема при запуске самого макроса, связанная с настройками системы безопасности.

Другие материалы по теме:

Понравилась статья? Поделить с друзьями:
  • Не могу построить круговую диаграмму в excel
  • Не могу поменять шрифт в формуле word
  • Не могу построить диаграмму в excel по данным таблицы
  • Не могу поменять шрифт excel
  • Не могу поменять число в excel