Excel: преобразовать столбец с гиперссылками, чтобы отображались только ссылки

Excel: преобразовать столбец с гиперссылками, чтобы отображались только ссылки

В Excel у меня есть столбец ссылок, в котором вместо самой ссылки отображается текст.

Мне на самом деле нужны ссылки, есть ли способ массово преобразовать весь столбец, чтобы ссылки были видны? Иначе мне придется нажимать на каждую ссылку, открывать ее в браузере и копировать и вставлять адрес...

Кроме того, я работаю в Excel 2008 для Mac, так что, похоже, я не могу делать макросы...

решение1

Короткий ответ:Без VBA это автоматизировать невозможно.

Руководство

Это на компьютере с Windows 7; просто замените ярлыки на соответствующие им аналоги для Mac.

  1. Выделите ячейку с гиперссылкой.
  2. Нажмите CTRL+ K. Откроется диалоговое окно гиперссылки (см. изображение ниже). После того, как оно откроется, вы увидите, что ваш курсор уже находится в поле Адрес.
  3. Нажмите CTRL+, Aчтобы выделить весь URL-адрес.
  4. Нажмите CTRL+, Cчтобы скопировать его.
  5. Нажмите ESCили , Enterчтобы закрыть диалоговое окно «Гиперссылка».
  6. Вставьте URL-адрес куда-нибудь с помощью CTRL+ V.

введите описание изображения здесь

ВБА

Вот решение на VBA для тех, кто умеет его использовать.

Создайте модуль VBA со следующим кодом:

Public Function GetURL(c As Range) As String
    On Error Resume Next
    GetURL = c.Hyperlinks(1).Address
End Function

Для использования введите в любую ячейку следующее:

=GetURL(A1)

где A1 содержит гиперссылку.

Функция в действии:

введите описание изображения здесь

решение2

Это может показаться методом грубой силы, но это лучший способ, который я придумал. (Я обнаружил эту страницу, когда у меня самого возник тот же вопрос час назад... можно потратить целый день на поиски, но иногда проще просто сделать это и забыть об этом.)

1) Скопируйте и вставьте в новую электронную таблицу только ячейки, содержащие гиперссылки.

2) Экспортируйте электронную таблицу, нажмите «Изменить тип файла», выберите «Сохранить как другой тип файла» и сохраните ее как веб-страницу (также известную как HTML-файл).

3) Откройте веб-страницу в браузере и просмотрите исходный код.

4) Скопируйте и вставьте исходный текст в текстовый редактор.

5) Используя функцию «Найти/Заменить» текстового редактора, удалите начальный и конечный текст каждой гиперссылки. (Другими словами, замените указанный текст ничем: «») Обратите внимание, что этот текст должен быть идентичным для каждой гиперссылки.

6) Теперь у вас должен быть текстовый файл, в котором нет ничего, кроме гиперссылок. Скопируйте и вставьте по мере необходимости обратно в исходную электронную таблицу или используйте как хотите/где хотите.

Отредактировано, чтобы указать, что вы можете экспортировать в отдельный файл HTM. Закройте файл и снова откройте его в Excel, и это решит проблему. Формула =Hyperlink исчезла, а ссылки преобразуются в обычные ссылки. Этот метод сэкономил мне часы и был предельно прост, и мне не пришлось иметь дело со скриптами, формулами, VBA или макросами.

решение3

Я использую Mac, и это сработало для меня: выделите столбец, который нужно преобразовать, в меню «Вставка» откройте «Гиперссылка». Удалите весь текст, который отображается в поле «Отображение». Если отображаемый текст отличается в разных ячейках, будет написано «[выбрано несколько ячеек]». После нажатия кнопки «ОК» на вашем листе появятся только ссылки. Если вам нужно преобразовать отдельные ячейки, а не целый столбец, выделите все ячейки, которые нужно преобразовать, щелкните правой кнопкой мыши, выберите «Изменить гиперссылку» и выполните те же действия, чтобы удалить текст в поле «Отображение».

решение4

За годы, прошедшие с тех пор, как этот вопрос был задан Excel, кто-то в моей фирме добавил эту =GetURL(cell)функцию в наш глобальный файл XLAM, и я подумал, что это часть базового Excel. Вот VBA...

Public Function GetURL(cell As Range, Optional default_value As Variant) As Variant
      Dim output As Variant
      If (cell.Range("A1").Hyperlinks.Count <> 1) Then
          output = default_value
      Else
          output = cell.Range("A1").Hyperlinks(1).Address
      End If
      GetURL = output
End Function

Связанный контент