Excel VBA:超链接困境

我在循环中有以下几行代码:

Worksheets(mainsheet).Cells(BidItem, "K").Value = "Test " & BidItem Worksheets(mainsheet).Hyperlinks.Add Anchor:=Worksheets(mainsheet).Cells(BidItem, "L"), Address:="http://google.com", TextToAdd:="Test link" 

在执行的时候,

 Dim mainsheet As String mainsheet = "Tester" BidItem = 6 ' (in this loop, it then counts to 7 and 8) 

结果是我会在K6中获得“testing6”,在K7中获得“testing7”,在K8中获得“testing8”,但在L6,L7,L8中没有任何变化。

我已经阅读了每个stackexchange和其他论坛,我可以findHyperlinks.Add,我不明白为什么这是行不通的。 它必须是锚的东西:=但我不知道是什么。 我在这里有什么错误?

当试图debugging你的代码时不要使用On Error Resume Next

 Dim bidItem As Long, mainsheet As String mainsheet = "sheet3" With Worksheets(mainsheet) For bidItem = 6 To 9 .Cells(bidItem, "K").Value = "Test " & bidItem .Hyperlinks.Add Anchor:=.Cells(bidItem, "L"), Address:="http://google.com", TextToDisplay:="Test link" Next bidItem End With 

注意TextToDisplay不是TextToAdd 。 这应该会引发错误。

TextToAdd不是Hyperlinks.Add方法的参数。 改用TextToDisplay 。 请参阅MS方法文档 。

 Worksheets(mainsheet).Hyperlinks.Add Anchor:=Worksheets(mainsheet).Cells(BidItem, "L"), Address:="http://google.com", TextToDisplay:="Test link"