
Я просмотрел эту ветку в поисках чего-то, что соответствовало бы моему запросу, но большинство тем были близки, но не имели отношения к моему запросу.
Я пытаюсь извлечь URL-адрес из текста ссылки в Excel.
Есть ли для этого формула? Когда я пробую =GETURL
или =HYPERLINK
он все равно вставляет текст анкора с привязанным к нему URL.
Есть идеи? Макрорешения довольно бесполезны, так что формула была бы кстати. В противном случае, возложите макросы на меня.
решение1
Если у вас есть ячейка, содержащая гиперссылку, и вы хотите видеть 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) очень просты в установке и использовании:
- ALT-F11 открывает окно VBE
- ALT-I ALT-M открывает новый модуль
- вставьте текст и закройте окно VBE
Если вы сохраните книгу, UDF будет сохранен вместе с ней. Если вы используете версию Excel позже 2003, вы должны сохранить файл как .xlsm, а не .xlsx
Чтобы удалить UDF:
- откройте окно VBE, как указано выше
- очистить код
- закрыть окно VBE
Чтобы использовать UDF из Excel:
=гип(A1)
Чтобы узнать больше о макросах в целом, см.:
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
для получения подробной информации о UDF
Для работы этого метода должны быть включены макросы!