Ссылка должна указывать на лист макросов ошибка

Пользовательское соглашение

Политика конфиденциальности

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru


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

Техническая поддержка сайта

ООО «Планета Эксел»

ИНН 7735603520


ОГРН 1147746834949
        ИП Павлов Николай Владимирович
        ИНН 633015842586
        ОГРНИП 310633031600071 

April 4 2018, 02:44

Category:

  • Образование
  • Cancel

ОШИБКИ ПРИ ЗАПУСКЕ МАКРОСОВ С РАБОЧЕГО ЛИСТА EXCEL
Недавно, работая в Excel, я поймал ошибку: «Ссылка должна указывать на лист макросов». Эта ошибка имела место, когда я пытался запустить свой макрос с рабочего листа Excel по нажатию кнопки. Посмотрев в интернете, я увидел, что данная ошибка достаточно распространенная, поэтому нужно было искать решение. Интерес еще состоял в том, что данную операцию я много раз выполнял ранее и все работало. А тут, вдруг, не работает. В чем причина данной ошибки и как ее исправить вы узнаете из нашего видеоурока.

В нашей подборке вы можете найти больше видеоуроков по решению прикладных задач в Excel https://goo.gl/9LrQZG
Больше других обучающих видеоуроков вы сможете найти на нашем сайте http://goo.gl/kkSWEU

#Видеоурок #Excel #MicrosoftExcel #ОшибкаExcel #ЗапускМакросаСРабочегоЛиста #СсылкаДолжнаУказыватьНаЛистМакросов

Hi I have this simple code that follows a hyperlink, and I am trying to assign it to a button but I get

Reference must be to a macro sheet

error. In the module there are no references to any sheets as this is just a simple command opening up IE via cmd. What am I doing wrong?

Sub CAV2()
  'For MAGCRD1 (link is for illustration)
   Shell "CMD.EXE /C START """" """ & "www.google.com" & """"
End Sub

braX's user avatar

braX

11.5k5 gold badges19 silver badges33 bronze badges

asked Feb 6, 2018 at 16:00

Rhyfelwr's user avatar

CAV2 is legal sheet’s cell reference. Choose another name for procedure.

answered Feb 6, 2018 at 16:26

JohnyL's user avatar

JohnyLJohnyL

6,8343 gold badges22 silver badges41 bronze badges

the name of the subprocedure (CAV2) is not permitted by VBA. The number «2» is the culprit, change it and everything will work fine

answered Nov 22, 2019 at 14:13

victor ubong's user avatar

Microsoft Excel. Ошибка #ССЫЛКА!, как исправить?

Исправить ошибку #ССЫЛКА! в Excel можно только непосредственно после того как она была замечена, т.к., чаще всего, она возникает, если был удален диапазон (обычно через удаление строк или столбцов) на который ссылалась некая формула.

Пример: в диапазоне B4:B9 находятся числа, которые нам нужно просуммировать. Пишем формулу =СУММ(B4:B9) и получаем их сумму. Если же удалить (предварительно выделив) строки с 4-й по 9-ю, то удалятся все значения в этих строках, а также во всех формулах, в которых этот диапазон был использован полностью (именно с 4-й по 9-ю строку) появится ошибка #ССЫЛКА!. То есть, удалив строки — получим вместо СУММ(B4:B9) уже =СУММ(#ССЫЛКА!)

Соответственно, исправить можно только сразу. Если мы видим, что в каких-то ячейках

появилось значение ошибки #ССЫЛКА! сразу же отменяем удаление строк (или столбцов).

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

В некоторых случаях исправить эту ошибку невозможно даже сразу обнаружив ее. Если удалить лист, то также возникнет эта ошибка, только рядом будет еще идти адрес (ячейки или диапазона). Пример: =#ССЫЛКА!A2. Однако, так как удаление листа невозможно отменить, то, соответственно, исправить эту ошибку тоже не получится. (как вариант, можно закрыть файл без сохранения, а потом открыть его — тогда удаленный лист еще будет на своем месте и ошибка #ССЫЛКА! просто не возникнет)

Также ошибка #ССЫЛКА! может возникать, если мы пытаемся сослаться на ячейки, которых нет на листе Excel.

результат работы этой формулы — #ССЫЛКА! так как ячейки выше A1 в Excel не существует, а эта формула, как раз пытается сгенерировать ссылку на ячейку выше A1.

Исправление ошибки #REF! #BUSY!

Ошибка #ССЫЛКА! указывает на то, что формула ссылается на недопустимую ячейку. Чаще всего это происходит потому, что формула ссылается на ячейки, которые были удалены или заменены другими данными.

Пример ошибки #ССЫЛКА! из-за удаления столбца

В следующем примере в столбце E используется формула =СУММ(B2;C2;D2).

Формула, использующая явные ссылки на ячейки, например =СУММ(B2;C2;D2), может привести к #REF! при удалении столбца.

Если удалить столбец B, C или D, это приведет к #REF! ошибку «#ВЫЧИС!». В этом случае удалим столбец C (Продажи 2007), а в формуле отсчитываем формулу =СУММ(B2;#REF!;C2). При использовании явных ссылок на ячейки ,таких как эта (при ссылке на каждую ячейку по отдельности, разделенной запятой) и удалении строки или столбца, на которые ссылается ссылка, Excel не может устранить эту проблему, поэтому она возвращает #REF! ошибку «#ВЫЧИС!». Это главная причина, по которой использование явных ссылок на ячейки в функциях не рекомендуется.

Пример ошибки #ССЫЛКА! из-за удаления столбца.

Если вы случайно удалили строки или столбцы, вы можете немедленно нажать кнопку «Отменить» на панели быстрого доступа (или нажать клавиши CTRL+Z), чтобы восстановить их.

Измените формулу так, чтобы она ссылалась на диапазон, а не на отдельные ячейки, например =СУММ(B2:D2). Теперь можно удалить любой столбец в диапазоне суммирования, и Excel автоматически скорректирует формулу. Чтобы вычислить сумму значений в строках, также можно использовать формулу =СУММ(B2:B5).

Пример функции ВПР с неправильными ссылками на диапазоны

В следующем примере =ВРОТ(A8;A2:D5;5;ЛОЖЬ) возвращает #REF! из-за того, что она ищет значение из столбца 5, но диапазон ссылок — A:D, который составляет всего 4 столбца.

Пример формулы ВЛП с неправильным диапазоном. Формула = ВЛОКУ(A8;A2:D5;5;ЛОЖЬ). Пятого столбца в диапазоне В ПРОСМОТР нет, поэтому 5 вызывает #REF! ошибку "#ВЫЧИС!".

Расширьте диапазон или уменьшите значение столбца для поиска так, чтобы он попадал в указанный диапазон. Формулы =ВПР(A8;A2:E5;5;ЛОЖЬ) будет работать правильно, так же как и формула =ВПР(A8;A2:D5;4;ЛОЖЬ).

Пример функции ИНДЕКС с неправильной ссылкой на строку или столбец

В этом примере формула =ИНДЕКС(B2:E5;5;5) возвращает #REF! поскольку диапазон ИНДЕКС составляет 4 строки и 4 столбца, но формула запрашивает возврат данных в 5-й строке и 5-м столбце.

Пример формулы ИНДЕКС с недопустимой ссылкой на диапазон. Формула имеет вид =ИНДЕКС(B2:E5;5;5), но диапазон содержит всего 4 строки и 4 столбца.

Измените ссылки на строки и столбцы так, чтобы они попадали в диапазон поиска функции ИНДЕКС. Формула =ИНДЕКС(B2:E5;4;4) вернет правильный результат.

Пример ссылки на закрытую книгу с использованием функции ДВССЫЛ

В следующем примере функция INDIRECT пытается создать ссылку на закрытую книгу, что приводит к #REF! ошибку «#ВЫЧИС!».

Пример ошибки #ССЫЛКА! из-за использования функции ДВССЫЛ для ссылки на закрытую книгу.

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

Проблемы с OLE

Если вы использовали ссылку OLE, возвращая #REF! и запустите программу, в которую будет звонить ссылка.

Примечание. OLE — это технология, которая используется для обмена информацией между приложениями.

Проблемы dDE

Если вы использовали динамический Exchange DDE, возвращающий #REF! сначала убедитесь, что вы ссылаетесь на правильный раздел. Если вы по-прежнему получаете #REF! проверьте в центре управления Параметры на внешнее содержимое, как описано в Office документах.

Примечание. Динамические Exchange (DDE)— это протокол, который позволяет обмениваться данными между Windows программами Майкрософт.

Проблемы с макросами

Если макрос вводит на сайте функцию, которая ссылается на ячейку над функцией, а ячейка с этой функцией находится в строке 1, функция возвращает #REF! поскольку над строкой 1 нет ячеек. Проверьте функцию, не ссылается ли аргумент на не допустимую ячейку или диапазон ячеек. Для этого может потребоваться изменить макрос в редакторе Visual Basic (VBE).

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Как исправить ошибку #ССЫЛКА! в Excel

При работе в Excel можно столкнуться с ошибкой #ССЫЛКА!. Эта ошибка возникает тогда, когда функция ссылается на ячейку, которой не существует. В этой статье мы разберем основные способы, как исправить эту ситуацию.

Как исправить ошибку #ССЫЛКА! в Excel

Вариант 1. Исправление формул

Представим такую ситуацию. У нас есть файл с базой данных, где хранятся данные по продажам за январь — февраль (лист в файле назван «БД янв — фев») и файл со сводными данными, который суммирует выручку по месяцам. Мы открыли файл с базой данных, внесли в него данные по продажам за март и внимание(!) переименовали лист в «БД янв — март», после этого открываем файл со сводом и видим там вместо данных по выручке за январь, февраль, что мы делали раньше, ошибку #ССЫЛКА!. Это произошло из-за того, что функция ссылается на данные в листе «БД янв — фев», которого нет, так как мы его переименовали.

Как исправить ошибку #ССЫЛКА! в Excel

Что бы исправить эту ситуацию, закрываем файл со сводом, не сохраняя изменения (!), если вы сохраните изменения — то формулы будут навсегда испорчены и вам придется писать их заново. Далее в файле с базой данных переименовываете лист так, как он назывался ранее, т.е. «БД янв — фев» и снова открываете файл со сводом. Ошибка пропала, функции снова работают. Теперь при открытых двух файлах, вы можете переименовать лист в базе данных и ошибка не появится, так как Excel изменит ссылки в функциях (он умеет это делать только в открытых книгах).

Как исправить ошибку #ССЫЛКА! в Excel

Вариант 2. Функция ЕСЛИОШИБКА

При помощи функции ЕСЛИОШИБКА можно обработать ошибки, которые возникают при написании формул, в том числе ошибку #ССЫЛКА!.

Синтаксис функции ЕСЛИОШИБКА следующий: первым аргументом идет функция, которая может вызвать ошибку, вторым аргументом функционал, который будет вызван, если ошибка произошла.

Как исправить ошибку #ССЫЛКА! в Excel

В данном случае мы оставили напоминание себе о том, что листы, при закрытой книге со сводом переименовывать нельзя. Это позволит быстро сориентироваться в ситуации и исправить формулы, как описано в варианте 1.

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

Ссылка должна быть на лист макросов

Ошибка. В модуле нет ссылок на какие-либо листы, поскольку это простая команда, открывающая IE через cmd. Что я делаю не так?

Sub CAV2()
  'For MAGCRD1 (link is for illustration)
   Shell "CMD.EXE /C START """" """ & "www.google.com" & """"
End Sub

2 ответа

Лучший ответ

CAV2 — ссылка на ячейку юридического листа. Выберите другое название для процедуры.


2

JohnyL
6 Фев 2018 в 16:26

Имя подпроцедуры (CAV2) не разрешено VBA. Цифра «2» виновата, поменяйте ее и все будет нормально работать


1

victor ubong
22 Ноя 2019 в 14:13

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