EXCEL: Создание и удаление гиперссылок через VBA

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Аватара пользователя
EducatedFool
Сообщения: 197
Зарегистрирован: 06 апр 2008, 14:03
Откуда: Россия, Урал
Контактная информация:

Здравствуйте... На листе excel создаю гиперссылки для каждой ячейки через VBA (For i = 6 To 45: ActiveSheet.Hyperlinks.Add ActiveSheet.Cells(i, 4), "", "D" & (i + 10): Next). Всё работает нормально. Но когда я пытаюсь аналогично удалить одну или несколько гиперссылок (ActiveSheet.Hyperlinks.Delete или Cells(i, 4).Hyperlinks.Delete), гиперссылки-то удаляются, но теряется форматирование ячеек (частично пропадает выравнивание и стираются контуры ячеек, где были гиперссылки). Кто-нибудь может объяснить, как с этим бороться? (WinXP sp2, Office2003Pro)
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

EducatedFool, посмотрите, для начала, вот здесь http://www.msoffice.nm.ru/faq/macros/mi ... htm#faq225
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
Аватара пользователя
EducatedFool
Сообщения: 197
Зарегистрирован: 06 апр 2008, 14:03
Откуда: Россия, Урал
Контактная информация:

Посмотрел... но решения проблемы не нашёл.
У меня гиперссылки создаются и удаляются, вот только удаляются они вместе с форматированием содержащих их ячеек. По идее, такого происходить не должно...
Аватара пользователя
EducatedFool
Сообщения: 197
Зарегистрирован: 06 апр 2008, 14:03
Откуда: Россия, Урал
Контактная информация:

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

Выяснилось, что достаточно убрать галочки из настроек стиля, и теперь формат ячейки после удаления гиперссылки остаётся нетронутым.
Ответить