Почему Excel теперь дает мне уже существующее предупреждение диапазона имен на листе копирования?

я работал над электронной таблицей Microsoft Excel 2007 в течение нескольких дней. Я работаю с основным шаблоном, таким как sheet, и неоднократно копирую его на новый лист. До сегодняшнего дня это происходило без проблем. Однако в середине сегодняшнего дня это вдруг изменилось, и я не знаю, почему. Теперь, всякий раз, когда я пытаюсь скопировать лист, я получаю около десяти диалоговых окон, каждый из которых имеет другой объект диапазона имен (показан ниже как "XXXX"), и я нажимаю да для каждого из них:

формула или лист, который вы хотите переместить или скопировать, содержит имя "XXXX", которое уже существует на целевом листе. Вы хотите использовать эту версию названия?

  • чтобы использовать имя, определенное на целевом листе, нажмите кнопку Да.
  • чтобы переименовать диапазон, указанный в Формуле или листе, нажмите кнопку Нет и введите новое имя в диалоговом окне конфликт имен.

объекты диапазона имен ссылаются на ячейки в лист. Например, E6 называется именем диапазона PRE на нескольких листах (и все вместе) и некоторые формулы относятся к PRE вместо $E. Один из "XXXX" выше это PRE. Эти диапазоны имен должны разрешаться только в пределах листа, на котором они отображаются. Это не было проблемой раньше, несмотря на тот же диапазон имен, существующий на нескольких листах раньше. Я хочу сохранить диапазон имен.

что могло измениться в моей таблице, чтобы вызвать это изменения в поведении? Я вернулся к предыдущим листам, созданным таким образом, и теперь они тоже дают сообщение при копировании. Я попробовал другой компьютер и другого пользователя, и такое же поведение наблюдается повсюду. Я могу только заключить, что что-то в электронной таблице изменилось. Что это может быть и как я могу вернуть старое поведение, при котором я могу копировать листы с диапазонами имен и не получать никаких предупреждений?

ищем в Name Manager Я вижу, что диапазоны имен жалуются на шоу дважды, один раз в область Template и снова как scope Workbook. Если я удалю область Template те, предупреждение уходит на копию, однако, я получаю кучу ошибок #REF. Если я удалю область Workbook ones, все кажется в порядке, и предупреждения о копировании тоже уходят, так что, возможно, это ответ, но я нервничаю о том, какой эффект это удаление будет иметь и интересно, как Workbook они появились в первую очередь.

будет ли безопасно просто удалить Workbook Диспетчер имен ограниченные записи и как они могли бы появиться без моего ведома с самого начала?

22
задан WilliamKF
11.03.2023 21:10 Количество просмотров материала 2583
Распечатать страницу

6 ответов

Откройте Диспетчер имен и найдите именованные элементы, на которые жалуются, и удалите все элементы с областью Workbook и проблема с копированием листов уходит и формулы остаются неизменными.

5
отвечен WilliamKF 2023-03-13 04:58
Sub TOOLS_DELETENAMEDRANGE()

  Dim nm As name
  On Error Resume Next

  For Each nm In ActiveWorkbook.Names
    If (MsgBox("Delete name- " & nm.name, vbYesNo) = vbYes) Then  
      nm.Delete
    End If
  Next

  On Error GoTo 0

End Sub
3
отвечен user345338 2023-03-13 07:15

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

при копировании диапазона, который содержит ссылку на именованный диапазон (обычно область листа), и это же имя существует на целевом листе, как Excel знать, какое имя вы хотите использовать в результате?

Что касается того, что изменилось, я предлагаю вам просмотреть все имена в вашей книге, особенно для области.

Имя Менеджера -Ctrl-F3

2
отвечен chris neilsen 2023-03-13 09:32

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

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

в одну сторону, что Я иду об этом, чтобы запрограммировать его через сценарий VBA. Пример ниже

Sub do_loop_names()
Dim vJunkName As Name
Debug.Print ThisWorkbook.Names.Count


For Each vJunkName In ThisWorkbook.Names
    vJunkName.Delete
Next vJunkName
End Sub

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

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

0
отвечен Viquar 2023-03-13 11:49

та же проблема здесь с 27 тайна именованных диапазонов. Я использовал Ctrl+F3 (Как рекомендуется в другом ответе), чтобы просмотреть список именованных диапазонов (которые я никогда не настраивал!). Было много, так как я много раз копировал вкладку рабочего листа и просто нажимал "да", чтобы обойти сообщение. Я выделил и удалил все названные диапазоны (один маленький экран за раз, не мог выбрать все). В следующий раз, когда я попытался скопировать лист, копия удалась без предупреждающее сообщение.

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

0
отвечен Tess 2023-03-13 14:06

У меня была та же проблема, и попробовал каждое решение при условии, с переменным успехом:

1) я открыл Диспетчер имен, и, конечно же, было много имен, которые я никогда не создавал; однако они не были именами, о которых меня предупреждали. Я все равно удалил их, чтобы избавиться от беспорядка, но это не решение.

2) я попробовал код, предоставленный Viquar (запустите "Sub do_loops_names"). Я думаю, что часть кода была пропущена, потому что я не вижу, как это на самом деле ничего не делает и, конечно же, ничего не произошло.

3) я попробовал код, предоставленный user345338 (начинается с "Sub TOOLS_...") -идеальный. Он провел меня через все скрытые имена, которые каким-то образом застряли в книге, и удалил их. Большое спасибо, user345338 (кто бы вы ни были!).

кстати, код" codea "- user345338 не" бесполезен", поскольку он решил мою проблему.

0
отвечен Rick Schultz 2023-03-13 16:23

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх