Почему этот код переноса гиперссылки не работает, есть идеи?

#excel #vba #hyperlink #office365 #user-defined-functions

#excel #vba #гиперссылка #office365 #определяемые пользователем функции

Вопрос:

Я пытаюсь использовать метод переноса гиперссылки / UDF, чтобы выделить ячейку внутренним цветом, когда я переворачиваю ее. Ячейки расположены последовательно вниз по столбцу, поэтому они включены в функцию, чтобы раскрасить ячейку, на которую наведен указатель мыши, и очистить нижнюю для прокрутки вверх или одну выше, если пользователь прокручивает вниз.

Вот что я помещаю в ячейку для переноса:

 =IFERROR(HYPERLINK(@HighlightCell(ROW(),COLUMN()),"UNTAXED"),"UNTAXED")
 

и вот код функции UDF, который находится в модуле:

 Public Function HighlightCell(iRow As Integer, iCol As Integer)

Dim strRef As Range

strRef = Sheet1.Cells(iRow, iCol).Address

    With strRef.Interior
    
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = 13382451
            .TintAndShade = 0
            .PatternTintAndShade = 0
    
    strRef = strRef.Offset(-1, 0)

            .Pattern = xlNone
            .TintAndShade = 0
            .PatternTintAndShade = 0
    
    strRef = strRef.Offset(1, 0)
            .Pattern = xlNone
            .TintAndShade = 0
            .PatternTintAndShade = 0
            
    End With

End Function
 

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

Я основал его на блоге Джордана Голдмайера https://optionexplicitvba.blogspot.com/2011/04/rollover-b8-ov1.html в блоге Option Explicit (2011), и я выполнил все его шаги, но это просто не вызовет код, когда я перевернусь. Я посмотрел на его забавный пример с опрокидыванием змеи http://files.chandoo.org/free/RollOver2.xlsm на сайте Чанду, и я заметил, что он поставил знак @ перед именем функции в формуле гиперссылки ячейки, но добавление этого не помогло (не уверен, почему он это сделал, на самом деле я никогда не видел этого в другом месте или в его учебнике).

Итак, я в растерянности, и мне действительно нужно, чтобы это работало для проекта, который я пытаюсь выполнить сегодня, поэтому, если у кого-нибудь есть какие-либо идеи или он может указать мне правильное направление, я был бы бесконечно благодарен.

Спасибо и с уважением, Марк

Комментарии:

1. Удалить. Адрес из этой строки: strRef = Sheet1. Ячейки (iRow, iCol). Адрес и добавить набор в начале. Результат: установите strRef = Sheet1 . Ячейки (iRow, iCol)

2. Спасибо этому Рикардо, я действительно понял это в конце концов, но ценю помощь.