2

У меня есть электронная таблица, где столбец А отображает имена. Есть несколько сотен имен, и у каждого есть своя гиперссылка (которая ссылается на веб-страницу этого человека). Я хочу перенести эти гиперссылки в другой столбец с другим текстом и без гиперссылок.

Не каждая ячейка в столбце А имеет гиперссылку. Группы ячеек объединены вместе, поэтому A2:A7 имеет одну ссылку, A8:A13 - следующую, A9:10 - следующую (т. Е. Количество объединенных ячеек не является одинаковым).

например, где A2:A7 читает "Боб" и ссылается на www.bob.com, я хочу, чтобы I2:I7, который читает "Смит", и ни на что не ссылался, ссылался на www.bob.com. Я хочу сделать это несколько раз, копируя ссылки из A2:A579 в I2:I579.

Информация копируется из таблицы на веб-странице, откуда и идут гиперссылки.

1 ответ1

1

Этот макрос поможет

Sub SwapIt()

For i = 2 To 579

If Range("A" & i).Value <> "" And Range("I" & i).Value <> "" Then

    Dim newLink As String ' the new link string needs a place to live... just like me!

    If Range("A" & i).Hyperlinks.Count = 1 Then
    newLink = Range("A" & i).Hyperlinks(1).Address ' Get the old horrible link :)
    Range("I" & i).Hyperlinks.Add anchor:=Range("I" & i), Address:=Range("I" & i) ' horrible hack, just to get it to a link
    Range("I" & i).Hyperlinks(1).Address = newLink '' replace with the new link... Much better. Like a ray of sunshine
    End If
End If

Next i

End Sub

Это переместит гиперссылку с A2 на I2, затем с A3 на I3 и т.д.

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