Страницы: 1
RSS
Извлечь ссылки из определенного диапазона, и скопировать в определенный столбец
 
Подскажите пожалуйста как извлечь ссылки из определенного диапазона, и скопировать в указанный столбец?

Код
Sub ExtractHL()
Dim HL As Hyperlink
For Each HL In ActiveSheet.Hyperlinks
HL.Range.Offset(0, 7).Value = HL.Address
Next
End Sub

Такой метод не подошел, так как извлекается из любого текста, и проставляется через 7 ячеек.
Необязательно макрос, можно и формулой
Изменено: Jone_Stena - 05.09.2017 15:49:28 (Добавил пример)
 
Вам бы пример выложить. А то нам искать ссылки вставлять в файл в лом.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Добавил пример, цель вытащить из J11-14 ссылки.
 
Код
Sub ExtractHL()
Dim cl As Range, I&
I = 1
For Each cl In Range("J11:J14")
    If cl.Hyperlinks.Count > 0 Then
        Range("A" & I).Value = cl.Hyperlinks(1).Address
        I = I + 1
    End If
Next
End Sub
Согласие есть продукт при полном непротивлении сторон
 
Он не вытаскивает ссылки из J11-J14, а наоборот обрабатывает A1-A4
И причем копирует ссылку только из J11 в A1

цель вытащить из только из J11-J14 ссылки.
Изменено: Jone_Stena - 05.09.2017 16:42:14
 
Цитата
Jone_Stena написал: Он не вытаскивает ссылки
'Он' вытаскивает АДРЕСА ссылок из диапазона J11:J14 и вставляет их (адреса) как обычный ТЕКСТ в диапазон A1:A4
Цитата
Jone_Stena написал: И причем
и причем переносит все ссылки из диапазона J11:J14 при их наличии в ячейке. Я просто редактировал ВАШ макрос.
Если он (Ваш макрос) работает совсем не так, как Вам надо, зачем Вы его привели?
Напишите просто, по-русски, ЧТО, ОТКУДА, В КАКОМ ВИДЕ и КУДА нужно перенести/скопировать
Согласие есть продукт при полном непротивлении сторон
 
Если правильно понял. Press 'GO!' в файле
Код
Sub ExtractHL()
Dim cl As Range, I&
I = 1
For Each cl In Range("J11:J14")
    If cl.Hyperlinks.Count > 0 Then
        ActiveSheet.Hyperlinks.Add Anchor:=Range("A" & I), Address:=cl.Hyperlinks(1).Address, _
        TextToDisplay:=cl.Hyperlinks(1).Address
        I = I + 1
    End If
Next
End Sub
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Jone_Stena написал:
цель вытащить из J11-14 ссылки
тоесть просто вытащить, не затрагивая другие ячейки с данными, только J11-J14, можно вытащенные поставить рядом, можно изменить J11-J14 на ссылки, но важно не затрагивать остальные.
Макрос не мой, нашел в гугле, привел как пример...
В последней версии происходит тоже самое, что и в первой.
Изменено: Jone_Stena - 05.09.2017 17:07:46
 
Цитата
Jone_Stena написал: привел как пример..
Вот это лишнее, только с толку сбивает. См. сообщение выше
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Jone_Stena написал: В последней версии происходит тоже самое, что и в первой
Вы про какую версию? Из сообщения #7?
Согласие есть продукт при полном непротивлении сторон
 
Да, он проставляет данные из J11-J14 в A1-A4.
А нужно:
Цитата
Jone_Stena написал:
тоесть просто вытащить, не затрагивая другие ячейки с данными, только J11-J14, можно вытащенные поставить рядом, можно изменить J11-J14 на ссылки, но важно не затрагивать остальные.
Желаемый результат прикрепляю, в столбце К
Изменено: Jone_Stena - 05.09.2017 17:27:31
 
Замените в коде
Код
Anchor:=Range("A" & I)
на
Anchor:=cl.Offset(0, 1)
и удалите строки 3 (I=1) и 8 (I = I + 1)
Согласие есть продукт при полном непротивлении сторон
 
Спасибо большое
Страницы: 1
Читают тему
Наверх