На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Организуем VBA-FAQ! Если у Вас есть предложения, выскажитесь здесь: Пишем FAQ, интересно Ваше мнение
Популярные разделы FAQ:    user posted image Общие вопросы    user posted image Особенности VBA-кода    user posted image Оптимизация VBA-кода    user posted image Полезные ссылки

1. Старайтесь при создании темы указывать в заголовке или теле сообщения название офисного приложения и (желательно при работе с Office 95/97/2000) его версию. Это значительно сократит количество промежуточных вопросов.
2. Формулируйте вопросы как можно конкретнее, вспоминая (хотя бы иногда) о правилах ВЕЛИКОГО И МОГУЧЕГО РУССКОГО ЯЗЫКА, и не забывая, что краткость - сестра таланта.
3. Не забывайте использовать теги [сode=vba] ...текст программы... [/code] для выделения текста программы подсветкой!
4. Темы с просьбой выполнить какую-либо работу полностью за автора здесь не обсуждаются и переносятся в раздел ПОМОЩЬ СТУДЕНТАМ.
Модераторы: Old Bat, MIF
  
> Организация книги Excel , гиперссылки; "скрытые" листы
    Добрый день!

    Ситуация: есть файл, в нём около 100 листов.
    Каждому клиенту отведён отдельный лист, на котором для него рассчитываются пара сумм.
    Есть 2 сводных листа, на которых для каждого клиента указаны базовая сумма и результаты расчёта с соответствующего листа.

    Усовершенствовал:
    Добавил гиперссылки: по клику по имени клиента на сводном листе, осуществляется переход на соответствующий ему лист, там жмём ссылку "назад" - переходим обратно на ячейку клиента на сводном листе.

    Проблема: добавляем нового клиента в список на сводном листе (там алфавитный порядок) -> половина ссылок "назад" съезжает.
    Есть ли способ сделать так, чтобы гиперссылка "следила" за своей ячейкой как обычная формула?

    В идеале хотелось бы так: в книге скрыты все листы, кроме сводного. Жмём на гиперссылку, появляется лист, жмём назад - снова нет никаких листов, кроме сводного.
    Но гиперссылка на скрытый лист не работает, а событие FollowHyperlink срабатывает уже после попытки перехода по ссылке. Что делать?

    Можно конечно отказатся от гиперссылок и написать с нуля код, который будет активировать и скрывать/отображать листы и ячейки как мне удобно. Но всё-же пережде чем городить огород, хочется убедиться что из стандартных средств уже действительно больше выжать ничего не удастся.
      Цитата SV() @
      Проблема: добавляем нового клиента в список на сводном листе (там алфавитный порядок) -> половина ссылок "назад" съезжает.
      Есть ли способ сделать так, чтобы гиперссылка "следила" за своей ячейкой как обычная формула?

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

      Добавлено
      З.Ы.: дело было давно. впервые столкнувшись с книгой, в которой было более 100 листов, понял, что искать нужный лист можно долго. написал надстройку. надстройка выводит окошко со списком всех листов книги (в том числе, листов диаграмм и скрытых листов) и (самое полезное) текстбоксом. при вводе текста в текстбокс происходит поиск этого текста в листбоксе (список листов книги) формы. текст в текстбокс может помещаться и из ячейки листа. на форме есть ещё кнопка "переход", которая позволяет активировать нужный лист.

      для обсуждаемого случая. выделяю ячейку с клиентом на сводном листе (если имя клиента и листа совпадает, если нет, то придется делать столбец с имененм листа клиента), вызываю форму, в текстбокс формы читается содержимое ячейки (хорошо чтобы это было имя листа клиента), в листбоксе активируется нужный пункт, остается нажать кнопку переход. обратный путь на сводный лист можно продумать (например, написать в ячейку имя сводного листа, вызвать форму). <_<
        я ж на примере тренировался... вот думаю, почему бы не вылАжить?
        Прикреплённый файлПрикреплённый файлexp.zip (2.08 Кбайт, скачиваний: 174)
          Цитата Sokl @
          привязывать к имени
          сотня имён в книге, это конечно не очень хорошо, но похоже это как раз мой вариант :)

          Цитата Sokl @
          написал надстройку
          <_<
          написать не проблема....
          Просто я стараюсь использовать vba только для обработки данных, а для работы с ними пользоватся стандартными средствами.
          Ведь, по умолчанию безопасность у пользователей стоит высокая, пока всем объяснишь.
          А если вдруг у меня в коде ошибка....
            Цитата SV() @
            Ведь, по умолчанию безопасность у пользователей стоит высокая, пока всем объяснишь.

            Это можно обойти через подписание своего проекта, тем более если круг пользователей более-менее постоянный ;)
              А может после изменения списка клиентов, однократно запускать макрос "Переиндексация"
              который перебьет все гиперссылки на листы клиентов и все гиперсыллки "Назад" на всех листах?
                Цитата bi-lya @
                Это можно обойти через подписание своего проекта, тем более если круг пользователей более-менее постоянный


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

                Цитата Avsha @
                А может после изменения списка клиентов, однократно запускать макрос "Переиндексация"
                Можно, но вариант с именами имхо, надёжней: исключена ошибка, не надо ничего регулярно запукскать, сохраняется возможность всё сделать руками.

                Проблему замусоривания списка имён решил добавлением слова "ярлык_" к именам диапазонов с именем возврата. и они все в конце списка
                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                    0 пользователей:


                    Рейтинг@Mail.ru
                    [ Script execution time: 0,0549 ]   [ 16 queries used ]   [ Generated: 29.06.25, 13:17 GMT ]