Джеку нравятся его гиперссылки в Excel, чтобы показать, что они были посещены.

К сожалению, когда он сохраняет свою рабочую тетрадь, все они сбрасываются и становятся невидимыми. Джек задается вопросом, есть ли какой-нибудь способ сделать «посещенных»

статус его гиперссылок сохраняется после операции сохранения.

Нам не удалось обнаружить никакого способа сделать это. Самое близкое, что мы можем сделать, — это проверить, выполняется ли гиперссылка или нет, а затем каким-то образом указать этот статус с помощью условия или значения, которое сохраняется после операции сохранения. Например, рассмотрим следующие макросы:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Dim wks As Worksheet     Dim hl As Hyperlink     Application.ScreenUpdating = False     For Each wks In ThisWorkbook.Worksheets         For Each hl In wks.Hyperlinks             If hl.Parent.Interior.ColorIndex = 37 Then                 hl.Parent.Interior.ColorIndex = xlNone                 hl.Parent.Style = "Followed Hyperlink"

End If         Next hl     Next wks     Application.ScreenUpdating = True End Sub
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)

Target.Parent.Interior.ColorIndex = 37 End Sub

Каждый раз при переходе по гиперссылке запускается второй макрос. Устанавливает цвет ячейки, содержащей гиперссылку. Затем, когда книга сохранена, запускается первый макрос. Он проверяет все ячейки, содержащие гиперссылки, и если их внутренний цвет является «ключевым» цветом (значение цвета 37), то стиль ячейки устанавливается на стиль с именем «Followed Hyperlink». Этот параметр стиля для ячейки сохранится после операции сохранения; единственное, что вам нужно сделать, это убедиться, что вы определили стиль, который будет отображаться так, как вы хотите, чтобы отображались ваши гиперссылки.

Следует отметить, что эти два макроса следует добавить в модуль ThisWorkbook рабочей книги. Чтобы перейти к нему, откройте редактор Visual Basic и дважды щелкните модуль ThisWorkbook в проводнике проекта. Затем вы можете вставить макросы в появившееся окно кода.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (7198) применим к Microsoft Excel 2000, 2002 и 2003.