Я просмотрел эту ветку на предмет того, что соответствует моему запросу, но большинство тем были близки, но не относились к моей.

Я пытаюсь извлечь URL из текста привязки в Excel.

Есть ли формула для этого? Когда я пытаюсь =GETURL или =HYPERLINK он все равно вставляет текст привязки с привязанным к нему URL.

Есть идеи? Макро-решения довольно бесполезны, поэтому формула будет приятной. В противном случае положите макросы на меня.

1 ответ1

0

Если у вас есть ячейка, содержащая гиперссылку, и вы хотите видеть URL-адрес, а не "понятное имя", рассмотрите следующую пользовательскую функцию (UDF):

Public Function hyp(r As Range) As String
    hyp = ""
    If r.Hyperlinks.Count > 0 Then
        hyp = r.Hyperlinks(1).Address
        Exit Function
    End If
    If r.HasFormula Then
        rf = r.Formula
        dq = Chr(34)
        If InStr(rf, dq) = 0 Then
        Else
            hyp = Split(r.Formula, dq)(1)
        End If
    End If
End Function

Этот UDF работает как с вставленными гиперссылками, так и с функциями = HYPERLINK().

Пользовательские функции (UDF) очень просты в установке и использовании:

  1. ALT-F11 открывает окно VBE
  2. ALT-I ALT-M открывает новый модуль
  3. вставьте материал и закройте окно VBE

Если вы сохраните книгу, UDF будет сохранен вместе с ней. Если вы используете версию Excel более поздней, чем в 2003 году, вы должны сохранить файл как .xlsm, а не .xlsx

Чтобы удалить UDF:

  1. откройте окно VBE, как указано выше
  2. очистить код
  3. закройте окно VBE

Чтобы использовать UDF из Excel:

= Hyp (А1)

Чтобы узнать больше о макросах в целом, смотрите:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

а также

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

а также

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

для уточнения на UDFs

Макросы должны быть включены, чтобы это работало!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .