我在插入超链接方面遇到了一个小问题。如果我从空白表开始并插入超链接,然后使用两个单独的复制/粘贴将其复制到另外两个单元格:
Sub hyper1()
Cells.Clear
With ActiveSheet
.Hyperlinks.Add Anchor:=Range("A1"), Address:="http://www.cnn.com/", TextToDisplay:="News"
Range("A1").Copy Range("A2")
Range("A1").Copy Range("A3")
MsgBox .Hyperlinks.Count
End With
End Sub
三个单元格被填充,Excel正确地将超链接的数量报告为 3 。
但是,如果我使用单个复制/粘贴填充后两个单元格:
Sub hyper2()
Cells.Clear
With ActiveSheet
.Hyperlinks.Add Anchor:=Range("A1"), Address:="http://www.cnn.com/", TextToDisplay:="News"
Range("A1").Copy Range("A2:A3")
MsgBox ActiveSheet.Hyperlinks.Count
End With
End Sub
相同的三个单元格被填充,但Excel报告超链接的数量为 2 !!
哪个坏了,Excel 2007还是我的电脑??
答案 0 :(得分:4)
我怀疑它是因为在第二个宏中,超链接被复制为单个范围对象,而不是两个单独的范围(如第一个)。
Excel会将此视为Range对象(表示指定超链接所附加的范围)。因此,它将计为一个超链接而不是两个。
如果在宏运行后单击单元格A2或A3,则可以看到这一点(它们将同时更改颜色,表示已选择超链接)。
答案 1 :(得分:4)
Sub hyper3()
Cells.Clear
With ActiveSheet
.Hyperlinks.Add Anchor:=Range("A1"), Address:="http://www.cnn.com/", TextToDisplay:="News"
Range("A1").Copy Range("A2,A3")
MsgBox ActiveSheet.Hyperlinks.Count
End With
End Sub
逗号分隔将它们分成两个范围而不是一个