Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2011, 09:38   #1
Pavarotti
Пользователь
 
Регистрация: 02.12.2009
Сообщений: 48
Сообщение Как реализовать выбор листа на который будет ссылаться текущий лист?

Очень часто необходимо реализовать ссылку в ячейке на ячейку в другом листе. Таких листов в книге может быть довольно много, где каждый последующий лист ссылается на информацию из предыдущего листа. Каждый раз при создании(копировании предыдущего) нового листа приходится перебивать эти ссылки.
Существует ли возможность это автоматизировать, так как ссылок довольно много?
Возможно ли на листе реализовать что-то вроде ниспадающего меню, в котором можно выбрать лист на который будет ссылаться текущий лист, и при его выборе все ссылки на этом листе принимут соответствующий ввид, ссылаясь на выбранный лист?
Pavarotti вне форума Ответить с цитированием
Старый 16.02.2011, 09:54   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Каждый раз при создании(копировании предыдущего) нового листа приходится перебивать эти ссылки.
Т.е. листы могут добавляться, копироваться, перемещаться, переименовываться. Тогда каким образом, при добавлении нового листа, определить, какой из уже имеющихся листов есть последний?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 16.02.2011, 10:48   #3
Pavarotti
Пользователь
 
Регистрация: 02.12.2009
Сообщений: 48
По умолчанию

Если привязывать ссылки не к последнему листу, а, скажем, чтобы на листе было dropbox меню, в котором каким-нибудь образом(неизвестным пока мне) будет список всех существующих листов, и при выборе этого листа в этом dropboxe, текущий лист будет привязан ссылками к выбранному листу. Предположим, что переименовывать уже созданные и "связанные" листы пользователь не будет, а перемещение листов по книге тут уже, логичным образом, значения не имеет.
Pavarotti вне форума Ответить с цитированием
Старый 16.02.2011, 10:50   #4
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

ctrl+h, найти - старое название, заменить - новое название. Область поиска - формулы.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 16.02.2011, 11:40   #5
Pavarotti
Пользователь
 
Регистрация: 02.12.2009
Сообщений: 48
По умолчанию

Задача - сделать процесс привязывания ссылок более удобным.
Документом будут пользоваться возрастные тётеньки-бухгалтера, которым не удастся вежливо предложить каждый раз пользоваться поиском и перебивать формулы.
Хотелось бы все таки найти более, так сказать, элегантное решение, если таковое вообще существует.
Pavarotti вне форума Ответить с цитированием
Старый 16.02.2011, 11:53   #6
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

См. ответ SAS888 от Сегодня, 08:54
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 16.02.2011, 12:07   #7
Pavarotti
Пользователь
 
Регистрация: 02.12.2009
Сообщений: 48
По умолчанию

Не вижу связи, к сожалению...
На листах предполагается создать dropbox или combobox или listbox, в котором будут перечислены все листы книги. Если пользователь создаст(или скопирует с новым именем) новый лист, то название этого листа также появляется в dropbox'ах всех остальных (уже существующих) листов.
Нереальности в рамках человеческой логики в постановке задачи нет. Вопрос реально ли такое реализовать в Excel'e и как если да?
Pavarotti вне форума Ответить с цитированием
Старый 16.02.2011, 12:32   #8
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите пример во вложении.
Откройте файл и попробуйте либо добавить лист в книгу, либо скопировать имеющийся.
Кнопка "OK" пока не вызывает никаких действий. Добавьте то, что Вам требуется. Например, замена ссылок в формулах и т.п.
Вложения
Тип файла: rar Книга1.rar (8.5 Кб, 40 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 17.02.2011, 09:32   #9
Pavarotti
Пользователь
 
Регистрация: 02.12.2009
Сообщений: 48
По умолчанию

SAS888, это практически то что нужно. Доработав немного код получил необходимый мне алгоритм.
Спасибо большое!!!

Последний раз редактировалось Pavarotti; 17.02.2011 в 09:41.
Pavarotti вне форума Ответить с цитированием
Старый 20.02.2011, 11:09   #10
Pavarotti
Пользователь
 
Регистрация: 02.12.2009
Сообщений: 48
По умолчанию

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

Подробнее:
Допустим у нас в книге есть Week(1),Week(2),Week(3),Week(4) и т.д.
Все листы однотипные, т.е. каждый новый последующий лист создается путем копирования предыдущего.
На листе Week(2) есть ячейка B3, имеющая вид: B3=B2+'Week(1)'!B3, и так с каждым последующим листом: для Week(3): B3=B2+'Week(2)'!B3 и т.д.
Каждый раз создавая новый лист, приходится перебивать формулу, так как создаваемый лист ссылается на пред-предыдущий лист.
Удобным фактором для автоматизации искомого мной процесса является то, что выбранная структура названия листов автоматически присваивает последующий номер каждому создаваемому(копируемому) листу из предыдущего.
Вопрос: Как все же можно автоматизировать процесс замены имени листа в ссылке создаваемого листа с пред-предыдущего на предыдущий?
Вложения
Тип файла: zip Primer.zip (6.8 Кб, 26 просмотров)
Pavarotti вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как реализовать авто-выбор S_Yevgeniy Помощь студентам 6 23.07.2010 10:39
Как вытащить из таблицы одного листа нужные строки на др лист? alexabv Microsoft Office Excel 3 30.04.2010 12:08
как реализовать сложный выбор из выпадающего списка? yulkas Помощь студентам 9 22.03.2010 09:54
Оптимальный выбор закупки (много поставщиков) с учётом объёмных скидок в прайсах - как реализовать? GardicoRu Microsoft Office Excel 22 11.01.2009 16:46
скрипт который будет сам формировать запрос в Яндекс Antivoin HTML и CSS 1 18.08.2007 19:23