2013-04-12 48 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好一个:) –