Как добавить URL в комментарий к ячейке с помощью VBA?

3

Я использую Microsoft Excel 2003, где у меня есть ячейка с комментарием. Комментарий содержит текст, а также URL. Можно ли создать гиперссылку (URL) в поле для комментариев, где пользователь может щелкнуть, и он автоматически откроет URL?

Спасибо,

James
источник

Ответы:

1

Джеймс, Если бы это был я, я бы сделал это как можно проще. У меня просто была бы яркая коробка где-нибудь в стороне с этими рекомендациями и ссылкой.

Если вам интересно, вот шаги, которые вы можете выполнить, чтобы вставить VBA, чтобы создать всплывающее прямоугольное текстовое поле рядом с выбранной в настоящий момент ячейкой с любым текстом, который вы хотите сказать:

  1. Откройте вашу рабочую книгу в Excel.
  2. Выберите Вставить меню & gt; Изображение & gt; Автофигуры. Выберите прямоугольник.
  3. Поместите один прямоугольник в любом месте листа, с которым вы хотите работать.
  4. Отредактируйте текст и сделайте так, чтобы он говорил все что угодно, включая гиперссылку.
  5. Выберите рамку этого прямоугольника (не текст внутри), а затем найдите поле с именем в верхнем левом углу Excel. Возможно, теперь он будет называться как-то вроде «Rectange11». Измените имя на «Guideshape» (поскольку это то, что ищет код). 6. Щелкните правой кнопкой мыши вкладку листа в нижней части Excel и выберите «Просмотреть код».
  6. Вставьте этот код в большую пустую текстовую область в правой части экрана:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
        Application.EnableEvents = False
    
        On Error Resume Next
    
        Shapes("GuideShape").Visible = msoFalse
    
        If Not Intersect(Target, Range("C5:C8")) Is Nothing Then
    
            With Me.Shapes("Guideshape")
                 .Visible = msoTrue
                 .Top = Target.Top
                 .Left = Target.Left + 150
            End With
        End If
    
        On Error GoTo 0
    
        Application.EnableEvents = True
    
    End Sub
    
  7. Ищите линию, которая имеет ("C5:C8") и измените, включая диапазон доступных для редактирования ячеек, в которых должно появиться это сообщение. Держите скобки и двойные кавычки!

  8. Закройте редактор VB и вернитесь в Excel.

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

Удачи!

Peter
источник
1

Нет, вы не можете создать гиперссылку в комментарии. Вы можете вставить только текст URL.

Гиперссылки - это свойство диапазона или рабочего листа (а это не комментарии). Также есть свойство Hyperlink для Shape, но оно здесь неприменимо (хотя может быть какой-то очень хитрый способ, которым вы можете сделать так, чтобы изображение покрывало комментарий и предоставляло гиперссылку).

Lance Roberts
источник
На самом деле этот рабочий лист является оценочным листом, где пользователь должен заполнять данные на основе определенных рекомендаций. Таким образом, пользователь будет получать рекомендации, когда мышь находится над этой ячейкой, и, соответственно, он может заполнять данные для этой ячейки. (Последняя строка в этом руководстве содержит ссылку на URL для просмотра дополнительной информации - было бы неплохо иметь кликабельный URL). И вышеупомянутое поведение верно для всех ячеек в этом столбце. Я не могу придумать какой-либо другой способ сделать это. Какие-либо предложения ?
James
@James, Вы можете добавить небольшую колонку рядом с той, в которой есть гиперссылки, возможно, метка «more?», ИЛИ, если вы действительно занимаетесь программированием, вы можете использовать VBA и запускать одно из событий, поэтому что, когда пользователь щелкает в ячейке, появляется всплывающее окно с небольшим графическим или текстовым полем, в котором может содержаться гиперссылка.
Lance Roberts
Я не знаком с инициированием событий. Я постараюсь также изучить этот вариант. Спасибо, Лэнс! Я вижу возможность для Microsoft добавить опцию URL в комментарии :)
James
0

Я не думаю, что Excel поддерживает гиперссылки в комментариях. VBA, скорее всего, не поможет вам там.

Не могли бы вы вместо этого разместить URL-адреса в столбце рядом с вашими ячейками?

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

mtone
источник