Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Гиперссылка на форму. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Гиперссылка на форму. (Макросы/Sub)
Гиперссылка на форму.
rotten41 Дата: Вторник, 17.01.2017, 23:09 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 163
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый вечер.
Помогите разобраться с проблемой.

Как создать гиперссылку на Форму?
Разумеется понятно, что на саму Форму - гиперссылку создать наверное нельзя. Я имею ввиду ссылку на ячейку - которая находится примерно на уровне геометрического центра Формы.

Форма меняет свое место положение (ее можно перетаскивать) - и в соответствии с этим - должна меняться и ссылка на ячейку (поскольку геометрический центр Формы - будет уже на уровне другой ячейки).

Событие обновления адреса ячейки - Calculate
К сообщению приложен файл: -22-.xls (42.0 Kb)
 
Ответить
СообщениеДобрый вечер.
Помогите разобраться с проблемой.

Как создать гиперссылку на Форму?
Разумеется понятно, что на саму Форму - гиперссылку создать наверное нельзя. Я имею ввиду ссылку на ячейку - которая находится примерно на уровне геометрического центра Формы.

Форма меняет свое место положение (ее можно перетаскивать) - и в соответствии с этим - должна меняться и ссылка на ячейку (поскольку геометрический центр Формы - будет уже на уровне другой ячейки).

Событие обновления адреса ячейки - Calculate

Автор - rotten41
Дата добавления - 17.01.2017 в 23:09
bmv98rus Дата: Среда, 18.01.2017, 11:51 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4098
Репутация: 766 ±
Замечаний: 0% ±

Excel 2013/2016
rotten41,

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

Упппс. не учел скролинг рабочией области. Заменил.
Код
=HYPERLINK("#" & getCentrForm();"центр")

[vba]
Код
Function getCentrForm() As String
    With Application
        R = ActiveWindow.VisibleRange.Row
        Do While Cells(R, 1).Top < UserForm1.Top + UserForm1.Height / 2 - .Height + .UsableHeight
          R = R + 1
        Loop
        C = ActiveWindow.VisibleRange.Column
        Do While Cells(1, C).Left < UserForm1.Left + UserForm1.Width / 2 - .Width + .UsableWidth
            C = C + 1
        Loop
        getCentrForm = Cells(R - 1, C - 1).Address
    End With
End Function
[/vba]
К сообщению приложен файл: Copy_of-22-.xls (46.0 Kb)


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Среда, 18.01.2017, 12:21
 
Ответить
Сообщениеrotten41,

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

Упппс. не учел скролинг рабочией области. Заменил.
Код
=HYPERLINK("#" & getCentrForm();"центр")

[vba]
Код
Function getCentrForm() As String
    With Application
        R = ActiveWindow.VisibleRange.Row
        Do While Cells(R, 1).Top < UserForm1.Top + UserForm1.Height / 2 - .Height + .UsableHeight
          R = R + 1
        Loop
        C = ActiveWindow.VisibleRange.Column
        Do While Cells(1, C).Left < UserForm1.Left + UserForm1.Width / 2 - .Width + .UsableWidth
            C = C + 1
        Loop
        getCentrForm = Cells(R - 1, C - 1).Address
    End With
End Function
[/vba]

Автор - bmv98rus
Дата добавления - 18.01.2017 в 11:51
Wasilich Дата: Среда, 18.01.2017, 12:02 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
rotten41, Вы можете обширно пояснить, что Вы мудрите, :'( возможно есть другие подходы к решению вашей задачи.
 
Ответить
Сообщениеrotten41, Вы можете обширно пояснить, что Вы мудрите, :'( возможно есть другие подходы к решению вашей задачи.

Автор - Wasilich
Дата добавления - 18.01.2017 в 12:02
rotten41 Дата: Среда, 18.01.2017, 16:46 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 163
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
bmv98rus, большое спасибо.
Все работает как нужно.
 
Ответить
Сообщениеbmv98rus, большое спасибо.
Все работает как нужно.

Автор - rotten41
Дата добавления - 18.01.2017 в 16:46
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Гиперссылка на форму. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!