我仍然是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”列到最后一行数据,以便为电子表格的每一行创建超链接。
非常感谢任何帮助/指导。
提前致谢。
答案 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