这已成为一个简单答案的常见问题,但我似乎无法找到解决方案.使用Excel宏,我检查网站主页的链接,并将这些链接放入Excel中的范围. 现在我想将这些值变成超链接. Set allLinks = objIE.docume
现在我想将这些值变成超链接.
Set allLinks = objIE.document.GetElementsByTagName("A") For Each link In allLinks If InStr(link.href, inspectOneCat) Then inspectLink(linkCount) = link linkCount = linkCount + 1 End If Next
在下一步中,将一维数组转换为二维数组,其中inspectLink(i,0)中的描述性列和inspectLink(i,1)中的链接值.然后将数组加载到一个范围内,如下所示:
Sheets("Awesomepova").Range("a2:b300").Value = inspectLink
这有效.但这些链接显示为值,而不是超链接.我想做这样的事情:
'Sheets("Awesomepova").Hyperlinks.Add Sheets("Awesomepova").Range("a2:b300"), Sheets("Awesomepova").Range("a2:b300").Value
这不起作用.但我手动进入工作表并更改了第一个单元格,因此它是超链接的,我注意到即使我以编程方式重新加载整个范围,超链接仍然存在,所以我认为这是单元格格式的特征,而不是实际单元格中的数据.
也许可以通过将相同的格式应用于列中的所有单元格来解决问题,其中规则是将单元格值用作超链接值.
这是使用For i …循环的等价物Public Sub TestMe() Dim myArr As Variant Dim i As Long myArr = Array("www.bbc.com", "www.stackoverflow.com") For i = 0 To UBound(myArr) Worksheets(1).Cells(i + 1, 1).Hyperlinks.Add Worksheets(1).Cells(i + 1, 1), myArr(i) Next i End Sub