Excel 2016. КАК превратить ячейку гиперссылки в текст?

426
software is fun

У меня есть столбец текста, который все гиперссылки. Я хочу скопировать текст и URL в отдельные поля.

Например, в ячейке (A1) есть «Apple» (гиперссылка на http://www.apple.com )

Я хочу поместить значения в D и E

D1 будет содержать «Apple»

E1 будет содержать URL http://www.apple.com

Function GetURL(HyperlinkCell As Range) GetURL = Replace(HyperlinkCell.Hyperlinks(1).Address, "file:", "") End Function 

Я пробовал это в ThisWorkbook (VBA) и получил результаты как #NAME? в моей таблице

0

2 ответа на вопрос

1
Gary's Student

Вам необходимо разместить свою функцию в стандартном модуле :

и тогда будет работать

0
Inarion

Вы должны поместить свой код в обычный модуль:

  • Щелкните правой кнопкой мыши ваш проект в VBE
  • Вставить: Модуль
  • (Опционально) дать вашему модулю более разумное имя

Вырежьте / Вставьте свой код там. Это должно работать просто отлично!

Чтобы сделать ваши намерения более понятными, вы можете расширить заголовок своей функции, явно объявив его как Publicфункцию (не указав, что это ничего не изменит, но некоторые люди тогда предполагают, что это неявно Private), и установив тип возвращаемого значения String:

Public Function GetURL(HyperlinkCell As Range) as String 

Поскольку свойство Hyperlink содержит только строки, нет ничего плохого в том, чтобы сделать его явным в вашей UDF.

Похожие вопросы