创建包含变量的超链接

时间:2017-11-01 19:12:33

标签: excel vba excel-vba hyperlink

我仍然是VBA的新手,但我正在尝试使用宏来根据存储在电子表格中的信息添加超链接。

因此,例如,链接看起来像这样(链接的可变部分被列为VARIABLE:

www.example.com/VARIABLE1&Diff=300&Start=0000VARIABLE2&End=2359VARIABLE3

我已经使用以前的宏在excel电子表格中计算出这些变量:

VARIABLE1:此变量存储在H列中,它是每行的单个变量。

VARIABLE2:此变量存储在Q8中。对于每一行都是相同的,该数字在前一个宏中得出,但对于文档中的每一行都是相同的

VARIABLE3:此变量存储在R8中。对于每一行都是相同的,该数字在前一个宏中得出,但对于文档中的每一行都是相同的

到目前为止,我有以下代码,但我没有运气。它要么包含变量名称作为excel中公式内的文本,而不是存储在变量中的内容,要么根本不起作用。我尝试了各种方法,但没有运气:

Dim Variable2 As Long

Dim Variable3 As Long

Variable2 = range("Q8").Value

Variable3 = range("R8").Value

range("E2").FormulaR1C1 = "=HYPERLINK(""https://www.example.com"" & RC[3] & ""&Diff=300&Start=0000"" & Variable2 & ""&End=2359"" & Variable 3)"

然后需要将此公式一直向下复制到“E”列到最后一行数据,以便为电子表格的每一行创建超链接。

非常感谢任何帮助/指导。

提前致谢。

1 个答案:

答案 0 :(得分:0)

你错过了几个引号。试试这个:

Sub testy()

Dim variable1, variable2, variable3 As Long

variable2 = range("Q8").Value

variable3 = range("R8").Value

Range("E2").FormulaR1C1 = "=HYPERLINK(""www.example.com/""&RC[3]&""Diff=300&Start=" & variable2 & "&End=2359" & variable3 & """)"

 End Sub

如果这不起作用,可能与你在Variable1,2和3中存储的数据类型有关 - 如果除了构建这个字符串之外没有用于任何其他计算,我建议设置它们如字符串而不是

编辑:此外,关于您需要使用此公式填充整个列E,这将起作用:

Sub testy2()

Dim i, n, variable2, variable3 As Long

variable2 = Range("Q8").Value

variable3 = Range("R8").Value

n = Cells(Rows.Count, "A").End(xlUp).Row 'Change "A" with whichever column contains your data records

For i = 2 To n
Range("E" & i).FormulaR1C1 = "=HYPERLINK(""www.example.com/""&RC[3]&""Diff=300&Start=" & variable2 & "&End=2359" & variable3 & """)"
Next i

End Sub