Excel макроса нет в списке

 

snatg

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

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

помогите, пожалуйста, не понимаю, что происходит, проблема началась некоторое время назад, и как-то ее удавалось обойти, но сейчас вот совсем не получается…
в общем, нашла в инете макрос для удаления скрытых имен, прошла по инструкции: вставила текст макроса, перехожу в эксель, нажимаю вид-макросы, список пуст…
ну ладно, думаю может сохранить макрос, он на это ругается, что файл FUNCRES.XLAM доступен только для чтения… я еще что-то нажала, он начал ругаться. что у чего-то там нет цифровой подписи…
эксель 2013
что с этим всем можно сделать?
заранее спасибо

дополню: я еще чего-то нажимала, эксель предложил сохранить файл как .xlsm и там все макросы видно…
но ведь они же должны запускаться и в обычном файле .xlsx вроде как

Изменено: snatg14.05.2021 21:28:48
(дополнила)

 

buchlotnik

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

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

Excel 365 Бета-канал

#2

14.05.2021 21:34:49

Цитата
snatg написал:
но ведь они же должны запускаться и в обычном файле .xlsx вроде как

нет, не должны, в этом и отличие xlsx от  xlsm — «m — значит макрос»; поэтому в обычном файле вы макросы не сохраните

Соблюдение правил форума не освобождает от модераторского произвола
<#0>

 

Юрий М

Модератор

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

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

#3

14.05.2021 21:35:52

Цитата
snatg написал:
они же должны запускаться и в обычном файле .xlsx вроде как

Нет — в xlsx макросы не живут. Сохрайняйте как книгу с поддержкой макросов.

 

MikeVol

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

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

Ученик

#4

14.05.2021 21:36:14

snatg,

Цитата
snatg написал:
но ведь они же должны запускаться и в обычном файле .xlsx вроде как

Доброг времени суток. Почитайте вот это:

https://support.microsoft.com/ru-ru/office/%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%B8%D­0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5-excel-%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D1%8B-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2-0943ff2c-6014-4e8d-aaea-b83d51d46247

Думаю вы сами поймёте.

 

snatg

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

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

buchlotnik, Юрий М, MikeVol,
но раньше я порой запускала макросы и для этого не нужно было менять формат книги… мне сам этот макрос нужен был только 1 раз и все
я его не планировала сохранять
и проблема в том, что он не был виден, пока не поменяла файл на хлсм

 

MikeVol

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

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

Ученик

snatg, возможно вы раньше запускали файл с расширением .xls и сами того не обратили внимание взяли и преобразовали его в .xlsx. И не обратили внимание на предупреждение от том что все макросы удаляться.

 

Юрий М

Модератор

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

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

Ещё вариант: Вы скопировали макрос в новую книгу, потом запустили его — всё работало. Но потом сохранили не в том формате.

 

snatg

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

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

MikeVol, ну при чем тут удаление макросов?
)))
я уже много лет использую .xlsx
и еще раз: я не собиралась макрос сохранять
макросы всегда запускались в файлах .xlsx, да они там не сохраняются, но работают один раз
а теперь вот не могу запустить макрос в файле .xlsx

 

MikeVol

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

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

Ученик

snatg, ну тогда вам виднее. Экстрасенсорными возможностями не обладаю.все возможные варианты вам уже выложили. Курите ссылку что я скинул. А вы заладили что запускали макросы из файла .xlsx

Изменено: MikeVol14.05.2021 21:57:17

 

snatg

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

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

MikeVol, в ссылке как раз и сказано про XLSX: В этом формате нельзя сохранять код макросов
но ничего о том, что их нельзя запускать

 

Юрий М

Модератор

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

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

#11

14.05.2021 22:02:45

Цитата
snatg написал:
макросы всегда запускались в файлах .xlsx

Такого не может быть. Если только в xlsx добавить макрос, выполнить его, то сработает. Но один раз (до закрытия книги), если не пересохранить файл в xlsm.
Можете прямо сейчас проверить: скопируйте в xlsx любой макрос и запускайте его сколько хотите. Но стоит закрыть без сохранения — макросов не будет.

 

snatg

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

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

#12

14.05.2021 22:09:40

Цитата
Юрий М написал:
Можете прямо сейчас проверить: скопируйте в xlsx любой макрос и запускайте его сколько хотите. Но стоит закрыть без сохранения — макросов не будет.

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

 

Юрий М

Модератор

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

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

Список макросов может быть пуст, если Ваш макрос начинается с Private

 

vikttur

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

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

#14

14.05.2021 22:32:59

… или в макрос передаются параметры (например: Sub kkk (i As Long))
Но это так, больше для информации, т.к. в Вашем случае ничего в него передаваться не может.

Цитата
snatg написал: сохранить файл как .xlsm и там все макросы видно..

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

 

snatg

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

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

#15

14.05.2021 23:07:08

файл у меня около 3 мб
и проблема не только с этим файлом, я уверена, что у меня проблема с файлом FUNCRES.XLAM
но что с ним не так я не знаю

Цитата
Юрий М написал: Список макросов может быть пуст, если Ваш макрос начинается с Private

не было там такого

 

RAN

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

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

#16

15.05.2021 06:18:48

XLAM -это надстройка. А макросы из настроек в окне макросов не отображаются.

I am writing VBA macros in excel 2016. Macros I write that have arguments do not show up in the Macro Table, only the ones that have no arguments. Help.

Community's user avatar

asked Dec 20, 2016 at 4:18

RFikes's user avatar

3

Macros that take arguments are not visible in the macro box because there is no point in having them there. If they need arguments to run, they cannot be run from the macro box because there is no way to supply an argument to the macro in question.

Normally, a macro shows up in the macro list when you display the
Macros dialog box (press Alt+F8), unless one of three conditions is
met:

  • The macro is a function. Functions typically return information,
    and they require information to be passed to them. Since running a
    macro from the macro list doesn’t allow either of these things to
    happen, Excel figures there is no need to list it. User-defined
    functions, which are quite useful in Excel, are not displayed in the
    Macros dialog box because they are, after all, functions.

  • The macro is
    a subroutine with parameters.
    Excel assumes that since parameters are
    necessary, and you cannot provide parameters by choosing the
    subroutine from the macro list, there is no need to list it.

  • The subroutine has been declared Private. This means that the subroutine
    is only useful to code within the module in which it is declared.

Source.

Depending on your need, a possible workaround is to use a helper-sub like this:

Sub InvisibleMacro(strArg As String)
    MsgBox("The passed argument was " & strArg)
    ' This macro won't be visible in the macro dialog because it can only be called with an argument
End Sub

Sub VisibleMacro()
    Call InvisibleMacro("Abc")
    ' This macro will be visible in the macro dialog because it requires no arguments and is not private. 
    ' It will call the "invisible" macro with a preset argument.
End Sub

You can use InputBox or the likes if you need the passed argument to be non-static. Of course, depending on what datatype you need to pass as an argument, this approach may be limited and/or require some extra hoops.

answered Dec 20, 2016 at 7:58

Vegard's user avatar

VegardVegard

3,5572 gold badges22 silver badges40 bronze badges

3

Obviously if the macro requires parameters they can’t be passed by clicking an icon.

But I have a Sub that only has one Optional parameter and that doesn’t show up in the list either when trying to attach it to an icon in the customized ribbon.

Comment out the full Sub declaration and substitute a line without parameters, attach the macro to an icon, then put back the real line. The icon will still work.

' Temporarily use the parameterless line to set things up, then put
' back the real line.  I assume this would crash if the Sub has required
' parameters.

Sub MySub()
' Sub MySub(Optional ByVal MyParm As String)
   If MyParm = "" Then MyParm = "No parameter"
   MsgBox (MyParm)
End Sub

answered Jan 13, 2018 at 8:22

RIck_R's user avatar

RIck_RRIck_R

1113 bronze badges

I know this is an older post but I had the same issue. My fix was that I had to open the macros in the VB editor and then they showed up in the macro list. from there I could add them to the ribbon and change the icons. Hope this helps.

answered Mar 19, 2019 at 13:31

Borgunit's user avatar

The macro is not listed when it has parameters, but knowing the name you should be able to simply write the name and theirs parameters when Excel prompts in the Assign Macro window, using single and double quotes.

The following example will guide you how to do it:

'mymacro "param1"'
'mymacro TRUE, FALSE'
'mymacro "param1","param2"'

fernandospr's user avatar

fernandospr

2,9542 gold badges21 silver badges43 bronze badges

answered Sep 3, 2020 at 12:19

user14214931's user avatar

My problem was that I had defined Macro directly through Visual Basic Editor in Excel and had defined it under «Class Modules» folder instead of «Modules»

Once I moved it into Modules folder, it was visible.

Hope this helps someone.

answered Aug 11, 2022 at 5:09

Ashutosh Vyas's user avatar

You probably have made macro as «Function()». To make it visible in macros list, you have to declare it as «Sub()».

answered Dec 20, 2016 at 4:53

Jayant Kumar jain's user avatar

1

Microsoft Excel – это популярное для работы с таблицами приложение, используемое в офисах и дом…

Microsoft
Excel – это популярное для работы с
таблицами приложение, используемое в
офисах и домах 90% людей. Несмотря на то
что программе уже 34 года, новые возможности
продолжают добавляться в обновлениях.
Поэтому программа до сих пор популярна.
Чтобы облегчить себе работу, нужно
знать, как работают эти опции. Для начала расскажем о том, что такое
макросы, а потом – как
включить макросы в Excel
2010, 2007, 2003.

Как включить макросы в Excel 2010, 2007, 2003

Что
такое макрос?    

До
того как
включить макросы в Excel,
необходимо
узнать, для чего они нужны. Макросы –
это сохраненные в строках таблицы
заранее созданные последовательности
действий с данными. Реализованы на языке
VBA, что позволяет работать не только с
командами Экселя, но и других приложений
Office, поддерживающих этот язык. Используя
макросы, можно настроить автоматическое
форматирование строк таблицы, отправку
по почте, или создание презентации.

как включить макросы в excel 2010

Описание
параметров макросов

После
сохранения макросы содержат пять
параметров работы, необходимых для
обеспечения защищенности при взаимодействии
с ними, так
как включить макросы в Excel
легко,
а избавляться от вирусов – нет.

  1. Отключить макросы без уведомления.
    Применяется
    для таблиц, автор которых неизвестен.
    Деактивирует сохраненные в ячейках
    макросы, не предупреждая об этом.
    Пользуйтесь им при опасности вирусов
    в таблице.
  2. Отключить макросы с уведомлением.
    Этот
    режим выбран стандартно. Предлагает
    выключать макросы, но перед этим
    запрашивает разрешения пользователя.
    С ним вы сможете решать, оставлять ли,
    или нет отдельно каждый макрос.
  3. Отключить макросы, кроме макросов с
    цифровой подписью.
    Похож
    на предыдущий, но автоматически разрешает
    использование макросов, подписанных
    цифровой подписью предприятия, доверие
    которому вы уже подтвердили.
  4. Включить макросы.
    Из
    названия понятно, что параметр разрешает
    использование макрокоманд, записанных
    в таблицу.
  5. Доверять доступ к объектной модели
    проектов VBA.

как в excel вставить макрос

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

    макросы excel как включить

    Как включить
    макросы в Excel

    Существует
    три версии Экселя, где активация макросов
    отличается друг от друга. Сначала
    рассмотрим, как
    включить макросы в Excel
    2010.

    как вставить макрос в 2010 excel

    Как
    включить макросы в MS
    Excel 2010

    В
    2010 версии Экселя разработчики сделали
    упор на безопасность, поэтому для
    включения макросов нужно сделать
    следующее:

    • В верхнем меню приложения нажмите
      «Файл».
    • Откроется список, выбрать предпоследний
      пункт – «Параметры».
    • Нажмите,
      и попадете в окно «Параметры Excel». Слева
      перейдите в «Центр управления
      безопасностью».

    Как включить макросы в Excel 2010, 2007, 2003

    • Справа в тексте кликните «Параметры…».
    • Откроется еще одно меню, где нужно
      выбрать «Параметры макросов».
    • Отметьте один из пунктов, нажмите «Ок».

    Как включить макросы в Excel 2010, 2007, 2003

    • Закройте и запустите
      Excel снова, для вступления изменений в
      силу.

    Как
    включить макросы в MS
    Excel 2007

    Здесь
    способ не сильно отличается от того,
    как
    включить макросы в Excel
    2010:

    • Нажмите кнопку «Файл» (круглая желтая
      кнопка с цветными квадратами) слева
      сверху окна.
    • В правой нижней части меню кликните на
      «Параметры Excel».

    Как включить макросы в Excel 2010, 2007, 2003

    • Перейдите в раздел «Центр управления
      безопасностью», а затем «Параметры
      центра…»
    • В открывшемся меню отметьте режим работы
      макросов, который нужен.

    Как включить макросы в Excel 2010, 2007, 2003

    • Перезапустите Эксель.

    Как
    включить макросы в MS
    Excel 2003

    2003
    Эксель уступает в безопасности 2010-му,
    и включить макросы в нем легче, но важно
    тщательно проверять файлы на вирусы,
    пользуясь им. Включить исполнение
    макросов можно так:

    1. В
      открытом приложении нажмите на кнопку
      «Сервис» в верхнем меню.
    2. В выпадающем списке нажмите на «Макрос»,
      и «Безопасность».
    3. Откроется меню безопасности, где нужно
      отметить уровень безопасности для
      макросов.
    4. Нажмите
      «Ок», и перезайдите в Эксель.

    Как включить макросы в Excel 2010, 2007, 2003

    Способы

    Включить
    макрокоманды можно одним из трех путей:

    • во
      время показа окна сообщения;
    • с
      помощью Backstage;
    • когда
      появляется предупреждение системы
      безопасности.

    Как включить макросы в Excel 2010, 2007, 2003

    Во
    время показа окна сообщения

    Дополнительный
    способ работает, когда в Экселе открывается
    файл, содержащий макрокоманды. В верхней
    части листа появляется желтая карточка
    с надписью «Предупреждение системы
    безопасности». Кликните по «Включить
    содержимое», и они активируются.

    Как включить макросы в Excel 2010, 2007, 2003

    С
    помощью Backstage

    Если
    открыть книгу с макросами, в меню «Файл»
    появляется сообщение, позволяющее
    активировать их. Для этого сделайте
    следующее:

    1. Раскройте меню «Файл» — левая в ленте
      вверху страницы.
    2. В окне «Предупреждение системы
      безопасности» кликните по «Включить
      содержимое».
    3. Появится диалоговое меню, где необходимо
      будет отметить «Всегда включать активное
      содержимое этого документа».

    Как включить макросы в Excel 2010, 2007, 2003

    После
    того как все получилось, перезагрузите
    приложение.

    Активировать
    на одну сессию при появлении предупреждения
    системы безопасности

    Способ
    включения только на один раз для одной
    книги:

    1. Раскройте меню «Файл» — левая в ленте
      вверху страницы.
    2. В окне «Предупреждение системы
      безопасности» кликните по «Включить
      содержимое».
    3. Перейдите в раздел «Дополнительные
      параметры».
    4. В появившемся поле активируйте пункт
      «Включить содержимое для этого сеанса»
      по очереди для каждого из макросов.
    5. Сохраните изменения, кликнув «Ок».

    Не отображается макрос среди всех открытых книг

    Marandi

    Дата: Среда, 07.04.2021, 14:05 |
    Сообщение № 1

    Группа: Пользователи

    Ранг: Участник

    Сообщений: 86


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2010

    Добрый день, уважаемые форумчане.
    Подскажите, пожалуйста, с проблемой НЕ отображения макроса среди всех открытых книг.
    Эта проблема возникает только в Excel 2010.

    Сообщение отредактировал MarandiСреда, 07.04.2021, 14:06

     

    Ответить

    Serge_007

    Дата: Среда, 07.04.2021, 14:10 |
    Сообщение № 2

    Группа: Админы

    Ранг: Местный житель

    Сообщений: 15888


    Репутация:

    2623

    ±

    Замечаний:
    ±


    Excel 2016

    Здравствуйте

    Где именно не отображается макрос?


    ЮMoney:41001419691823 | WMR:126292472390

     

    Ответить

    Marandi

    Дата: Среда, 07.04.2021, 14:17 |
    Сообщение № 3

    Группа: Пользователи

    Ранг: Участник

    Сообщений: 86


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2010

    вот здесь

    К сообщению приложен файл:

    7732811.png
    (34.0 Kb)

     

    Ответить

    Marandi

    Дата: Среда, 07.04.2021, 14:21 |
    Сообщение № 4

    Группа: Пользователи

    Ранг: Участник

    Сообщений: 86


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2010

    раньше работало так:
    1. Необходимо было открыть:
    А) документ, откуда должны браться данные для сравнения
    Б) документ, где прописан макрос
    2) находясь в документе А, нажимаем Alt+F8 и запускаем макрос
    А сейчас макрос не находится

    Сообщение отредактировал MarandiСреда, 07.04.2021, 14:21

     

    Ответить

    Serge_007

    Дата: Среда, 07.04.2021, 14:33 |
    Сообщение № 5

    Группа: Админы

    Ранг: Местный житель

    Сообщений: 15888


    Репутация:

    2623

    ±

    Замечаний:
    ±


    Excel 2016

    Откройте

    документ, где прописан макрос

    и заскриньте сам макрос и Project Explorer


    ЮMoney:41001419691823 | WMR:126292472390

     

    Ответить

    Marandi

    Дата: Среда, 07.04.2021, 14:42 |
    Сообщение № 6

    Группа: Пользователи

    Ранг: Участник

    Сообщений: 86


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2010

    Serge_007, сейчас

    Сообщение отредактировал MarandiСреда, 07.04.2021, 14:44

     

    Ответить

    Marandi

    Дата: Среда, 07.04.2021, 14:43 |
    Сообщение № 7

    Группа: Пользователи

    Ранг: Участник

    Сообщений: 86


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2010

    Serge_007,

    Сообщение отредактировал MarandiСреда, 07.04.2021, 14:44

     

    Ответить

    Serge_007

    Дата: Среда, 07.04.2021, 15:41 |
    Сообщение № 8

    Группа: Админы

    Ранг: Местный житель

    Сообщений: 15888


    Репутация:

    2623

    ±

    Замечаний:
    ±


    Excel 2016

    сам макрос и Project Explorer

    Вместе

    И скрины читаемые нужны, на тех. что вы вложили — ничего не видно


    ЮMoney:41001419691823 | WMR:126292472390

     

    Ответить

    Marandi

    Дата: Среда, 07.04.2021, 16:26 |
    Сообщение № 9

    Группа: Пользователи

    Ранг: Участник

    Сообщений: 86


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2010

    Прикрепила

    К сообщению приложен файл:

    Desktop.rar
    (85.0 Kb)

     

    Ответить

    Marandi

    Дата: Среда, 07.04.2021, 16:27 |
    Сообщение № 10

    Группа: Пользователи

    Ранг: Участник

    Сообщений: 86


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2010

    Почему-то при прикреплении просто png скрин очень сжимается

     

    Ответить

    Serge_007

    Дата: Среда, 07.04.2021, 16:33 |
    Сообщение № 11

    Группа: Админы

    Ранг: Местный житель

    Сообщений: 15888


    Репутация:

    2623

    ±

    Замечаний:
    ±


    Excel 2016

    У Вас что, макрос не виден в модуле?

    Я просил

    Цитата

    сам макрос и Project Explorer

    Вместе


    ЮMoney:41001419691823 | WMR:126292472390

     

    Ответить

    Serge_007

    Дата: Среда, 07.04.2021, 16:35 |
    Сообщение № 12

    Группа: Админы

    Ранг: Местный житель

    Сообщений: 15888


    Репутация:

    2623

    ±

    Замечаний:
    ±


    Excel 2016

    Откройте две книги, с макросом и любую другую
    Зайдите в редактор VBE и заскриньте сам макрос и Project Explorer вместе, одним скрином


    ЮMoney:41001419691823 | WMR:126292472390

     

    Ответить

    Marandi

    Дата: Среда, 07.04.2021, 16:46 |
    Сообщение № 13

    Группа: Пользователи

    Ранг: Участник

    Сообщений: 86


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2010

    Serge_007, у меня не получается так сделать. Если жму на макрос, то Project Explorer закрывается. Подскажите, пожалуйста, нужно в вкладке View что-то выбрать?

     

    Ответить

    Serge_007

    Дата: Среда, 07.04.2021, 16:49 |
    Сообщение № 14

    Группа: Админы

    Ранг: Местный житель

    Сообщений: 15888


    Репутация:

    2623

    ±

    Замечаний:
    ±


    Excel 2016

    Не надо никуда жать

    Откройте две книги, с макросом и любую другую
    Зайдите в редактор VBE (Alt+F11) и заскриньте сам макрос и Project Explorer вместе, одним скрином

    Если Project Explorer не видно — нажмите Ctrl+R


    ЮMoney:41001419691823 | WMR:126292472390

     

    Ответить

    Marandi

    Дата: Среда, 07.04.2021, 17:03 |
    Сообщение № 15

    Группа: Пользователи

    Ранг: Участник

    Сообщений: 86


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2010

    Serge_007, так?

     

    Ответить

    Serge_007

    Дата: Среда, 07.04.2021, 17:15 |
    Сообщение № 16

    Группа: Админы

    Ранг: Местный житель

    Сообщений: 15888


    Репутация:

    2623

    ±

    Замечаний:
    ±


    Excel 2016

    Я дважды написал как надо

    У Вас что, макрос не виден в модуле?


    ЮMoney:41001419691823 | WMR:126292472390

     

    Ответить

    Marandi

    Дата: Среда, 07.04.2021, 17:23 |
    Сообщение № 17

    Группа: Пользователи

    Ранг: Участник

    Сообщений: 86


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2010

    Serge_007,

    К сообщению приложен файл:

    1692381.rar
    (79.8 Kb)

     

    Ответить

    Serge_007

    Дата: Среда, 07.04.2021, 17:47 |
    Сообщение № 18

    Группа: Админы

    Ранг: Местный житель

    Сообщений: 15888


    Репутация:

    2623

    ±

    Замечаний:
    ±


    Excel 2016

    Видимых причин не показывать макрос в списке нет

    Попробуйте скопировать код макроса и поместить в новую книгу
    Из неё он будет виден в списке?


    ЮMoney:41001419691823 | WMR:126292472390

     

    Ответить

    Marandi

    Дата: Четверг, 08.04.2021, 10:27 |
    Сообщение № 19

    Группа: Пользователи

    Ранг: Участник

    Сообщений: 86


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2010

    Serge_007, не виден

     

    Ответить

    Serge_007

    Дата: Четверг, 08.04.2021, 10:33 |
    Сообщение № 20

    Группа: Админы

    Ранг: Местный житель

    Сообщений: 15888


    Репутация:

    2623

    ±

    Замечаний:
    ±


    Excel 2016

    В книгу с макросом поместите другой макрос:
    [vba]

    Код

    sub qwe
    msgbox «123»
    end sub

    [/vba]
    Макрос qwe виден в списке?


    ЮMoney:41001419691823 | WMR:126292472390

     

    Ответить

    Макросы, которые принимают аргументы, не видны в блоке макросов, потому что нет никакого смысла в их наличии. Если им нужны аргументы для запуска, они не могут быть запущены из поля макроса, потому что нет способа предоставить аргумент для рассматриваемого макроса.

    Обычно макрос отображается в списке макросов при отображении диалогового окна «Макросы» (нажмите Alt+F8), если не выполняется одно из трех условий:

    • Макрос это функция. Функции обычно возвращают информацию, и они требуют, чтобы информация была передана им. Поскольку запуск макроса из списка макросов не позволяет ни одной из этих вещей произойти, Excel считает, что нет необходимости перечислять его. Пользовательские функции, которые весьма полезны в Excel, не отображаются в диалоговом окне «Макросы», потому что они, в конце концов, являются функциями.

    • Макрос — это подпрограмма с параметрами. Excel предполагает, что поскольку параметры необходимы, и вы не можете предоставить параметры, выбрав подпрограмму из списка макросов, нет необходимости перечислять ее.

    • Подпрограмма была объявлена ​​Private. Это означает, что подпрограмма полезна только для кода внутри модуля, в котором она объявлена.

    Источник

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

    Sub InvisibleMacro(strArg As String)
        MsgBox("The passed argument was " & strArg)
        ' This macro won't be visible in the macro dialog because it can only be called with an argument
    End Sub
    
    Sub VisibleMacro()
        Call InvisibleMacro("Abc")
        ' This macro will be visible in the macro dialog because it requires no arguments and is not private. 
        ' It will call the "invisible" macro with a preset argument.
    End Sub
    

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

    Не работают макросы в Excel? Включите их выполнение, добавьте специальный модель с кодом, проверьте версию ОС и Эксель, убедитесь в соответствии пакета приложений, активируйте Майкрософт Офис, снимите блокировку файла, проверьте систему безопасности и применяемые библиотеки. Ниже подробно рассмотрим, в чем могут быть причины подобной неисправности, и какие шаги предпринимать для ее устранения.

    Причины

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

    1. Функция отключена.
    2. Отключение отслеживания событий.
    3. Устаревшая операционная система.
    4. Несоответствие разработчика пакета офисных приложений.
    5. Устаревшая версия Майкрософт Офис.
    6. Неактивированная версия Excel.
    7. Заблокированный файл.
    8. Неправильные настройки безопасности.
    9. Отсутствие необходимой библиотеки и т. д.

    Выше рассмотрены основные причины, почему не удается выполнить макрос в Excel. Все они могут быть решены самостоятельно с помощью приведенных ниже рекомендации. Подробнее на решении вопроса остановимся ниже.

    Что делать

    Многие пользователи теряются в ситуации, когда не включаются или вообще не работают макросы в Excel. Такая проблема не дает нормально пользоваться приложением и заставляет искать альтернативные варианты.

    Включите опцию

    Первое, что необходимо сделать — включить функцию для обеспечения ее работоспособности. Здесь многое зависит от версии Эксель.

    Если не работают макросы в Excel 2003, сделайте следующие шаги:

    1. Войдите в «Сервис».
    2. Перейдите в раздел «Безопасность».
    3. Кликните «Уровень макросов «Низкий».

    В случае, когда не работают макросы в Excel 2007, включите их следующим образом:

    1. Жмите на кнопку «Офис».
    2. Войдите в параметры Excel.
    3. Кликните на «Центр управления безопасности».
    4. Войдите в «Параметры центра управления безопасностью».
    5. Жмите на «Параметры макросов».
    6. Кликните на «Разрешить все …».

    В ситуации, когда не работают макросы в Excel 2016, сделайте следующие шаги:

    1. Войдите в раздел «Файл».
    2. Кликните на кнопку «Параметры».
    3. Зайдите в «Центр управления безопасностью».
    4. Войдите в «Параметры центра управления безопасностью».
    5. Кликните на «Параметры …».
    6. Жмите на «Разрешить все …».

    После внесения изменений параметра безопасности перезапустите приложение Excel, а именно закройте его полностью и откройте снова. Лишь после этого изменения вступают в силу.

    Добавьте нужный модуль в книгу

    Бывают ситуации, когда макросы включены, но не работают в Excel из-за отключения каким-либо элементом отслеживания событий. В таком случае сделайте следующее:

    1. Перейдите в редактор VBA с помощью клавиш Alt+F11.
    2. Вставьте указанный ниже код.

    Sub Reset_Events()

    Application.EnableEvents = True

    End Sub

    1. Для выполнения кода поставьте курсор в любой точке между началом и концом.
    2. Кликните 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 необходимо сделать следующее:

    1. Войдите в Меню
    2. Кликните на пункт «Параметры».
    3. Жмите на «Центр управления безопасностью».
    4. Войдите в «Параметры центра управления безопасностью».
    5. Кликните на «Параметры макросов» и «Доверять доступ к объектной модели проектов».

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

    В комментариях расскажите, какой из приведенных выше вариантов вам помог, и что еще можно сделать.

    Отличного Вам дня!

    Понравилась статья? Поделить с друзьями:
  1. Excel макрос ячейка содержит текст
  2. Excel макрос ячейка не число
  3. Excel макросы перебор строки
  4. Excel макрос ячейка на другом листе
  5. Excel макросы очистить ячейку