Комментарии пользователя Salamandra

Мои комментарии:в блогах в форуме
Ответы мне:в блогах в форуме
Все комментарии: к моим постам
Краснов Геннадий, во всех такого рода конструкциях ячейка всё равно превращается в ссылку — правда, пустая ссылка никуда не ведет, но курсор над ячейкой превращается в ладонь с пальцем, а это раздражает.
avatar
  • 22 августа 2024, 13:00
  • Еще
Андрей &, Вы серьезно насчёт того, что проверяли и работает? У меня, кстати, как раз Эксель 2007. Постом выше я подробно отписался про эту функцию.
Передача аргументов как As String вообще сомнительна, а если как As Range то что такое Hyperlink& — VBA такого не знает.
avatar
  • 22 августа 2024, 12:56
  • Еще
Дмитрий Можаев, Естественная идея: поместить всю эту контрукцию в другой столбец и уже оттуда менять нужные нам ячейки. Тогда работает. Но вот беда: Эксель запрещает менять какие-либо иные ячейки, кроме той, откуда была вызвана функция. И при дальнейших телодвижениях на листе происходит аварийное закрытие книги.

Со столбцами хорошая идея, спасибо! Приму на будущее. Сейчас мне придется вставлять новый столбец, и собьются все номера и буквы на листе. Придется переделывать макросы — на это мне увы, уже пороху не хватит. :(

Есть ли тут система личных сообщений, чтоб Вы могли сообщить, куда Вам выслать моё творение, когда будет готово?
avatar
  • 22 августа 2024, 12:58
  • Еще
Дмитрий Можаев, спасибо.
Нечто подобное я проверял. В таком виде выдается #ЗНАЧ!
Если переделать так:

Function ConditionalHyperlink(link As Range, display_text As Range) As Variant
If link.Value <> "" Then
ConditionalHyperlink = Hyperlink(link, display_text)
Else
ConditionalHyperlink = display_text.Value
End If
End Function

— то начинает работать, но выдает ошибку, что не знает, что такое Hyperlink. Такое свойство есть у Shape, а у Range нету.

А если так (где ААА – сама ячейка с формулой):

Function ConditionalHyperlink(link As Range, display_text As Range, AAA As Range) As Variant
If link.Value <> "" Then
Hyperlinks.Add Anchor:=AAA, Address:=link.Value, TextToDisplay:=display_text.Value
Else
ConditionalHyperlink = display_text.Value
End If
End Function

— то снова ошибка значения в случае с гиперссылкой (с текстом работает).
avatar
  • 22 августа 2024, 12:39
  • Еще
Выберите надежного брокера, чтобы начать зарабатывать на бирже:
....все тэги
UPDONW
Новый дизайн