如何将我的VBA代码应用于一系列单元格?

时间:2016-12-16 00:03:11

标签: excel vba excel-vba hyperlink range

我的代码的目的是作用于用户输入,然后根据用户输入到单元格中的内容自动创建超链接。

如果用户在单元格中输入hello,则会创建一个超链接并链接到www.google.com/hello

每个单元格都有不同的输入,因此我的范围从hello扩展到其他用户输入至关重要。

我只针对一个单元格工作,但是当我尝试将其扩展到多个单元格时,我得到一个错误匹配错误,我怀疑这是由于我引用单元格错误或其他原因。

这是我的代码:

Sub automaticHyperlink()

Dim link As String

link = "http://www.google.com/" & Range("F2")

Range("F2").Hyperlinks.Add Range("F2"), link

End Sub

当我将所有范围引用从F2更改为F2:F4时,我会收到错误。

我的问题是,如何在不产生错误的情况下将此代码正确应用于多个单元格?

有任何问题,请告诉我。

谢谢。

1 个答案:

答案 0 :(得分:2)

首先,我建议将要显示的文本作为自己的String放置。然后,只需循环遍历您的范围。

Sub automaticHyperlink()

Dim link As String, dispText As String
Dim cel As Range
Dim lastRow as Long

lastRow = Cells(rows.count,6).End(xlup).Row

For Each cel In Range("F2:F" & lastRow)
    dispText = cel.value
    link = "http://www.google.com/" & dispText
    cel.Hyperlinks.Add anchor:=cel, Address:=link, TextToDisplay:=dispText
Next cel

End Sub