Как создать гиперссылку на Форму? Разумеется понятно, что на саму Форму - гиперссылку создать наверное нельзя. Я имею ввиду ссылку на ячейку - которая находится примерно на уровне геометрического центра Формы.
Форма меняет свое место положение (ее можно перетаскивать) - и в соответствии с этим - должна меняться и ссылка на ячейку (поскольку геометрический центр Формы - будет уже на уровне другой ячейки).
Событие обновления адреса ячейки - Calculate
Добрый вечер. Помогите разобраться с проблемой.
Как создать гиперссылку на Форму? Разумеется понятно, что на саму Форму - гиперссылку создать наверное нельзя. Я имею ввиду ссылку на ячейку - которая находится примерно на уровне геометрического центра Формы.
Форма меняет свое место положение (ее можно перетаскивать) - и в соответствии с этим - должна меняться и ссылка на ячейку (поскольку геометрический центр Формы - будет уже на уровне другой ячейки).
Без обработки ошибок, так как форма может находится за пределами рабочего окна, без учете размеров ячейки больше чем форма и объединеных ячеек, и при активной форме, конда её положение известно. Хотя когда формы нет, все лучше чем ожидал, ссылка просто не работает. Ну и тупым перебором.
Упппс. не учел скролинг рабочией области. Заменил.
Код
=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]
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