2013-04-12 3 views
1

Я пытаюсь вытащить все гиперссылки в таблицу Excel в новый рабочий лист. Я хочу, чтобы столбец A отображал текст из гиперссылки и столбец B, чтобы отобразить адрес гиперссылки.Имена и адреса гиперссылок VBA

Я написал код ниже, и весь столбец B отлично работает, однако значения в столбце A не все заканчиваются, и они не соответствуют адресам гиперссылок в столбце B. Что я делаю неправильно ?

Заранее спасибо

Sub extract_links() 
    Dim hyp As Hyperlink 
    Dim ReadCols As Long 
    Dim ReadWriteRow As Long 
    ReadWriteRow = 1 
    ReadCols = 6 

ActiveWorkbook.Sheets(2).Range("a:b").Clear 

For c = 1 To ReadCols 
    For Each hyp In ActiveWorkbook.Sheets(1).Columns(c).Hyperlinks 
     ActiveWorkbook.Sheets(2).Range("a" & ReadWriteRow).Value = ActiveWorkbook.Sheets(1).Cells(ReadWriteRow, c).Value 
     ActiveWorkbook.Sheets(2).Range("b" & ReadWriteRow).Value = hyp.Address 
     ReadWriteRow = ReadWriteRow + 1 
    Next 
Next c 
End Sub 

ответ

2

На этот раз вам нужно изменить:

ActiveWorkbook.Sheets(2).Range("a" & ReadWriteRow).Value = ActiveWorkbook.Sheets(1).Cells(ReadWriteRow, c).Value 

в этом:

ActiveWorkbook.Sheets(2).Range("a" & ReadWriteRow).Value = hyp.Range.Value 
+0

Спасибо за вашу помощь снова! – Doug

+0

Добро пожаловать :) –

+0

+ 1 Хороший :) –

Смежные вопросы