我有一个模块,该模块从整个工作表中删除所有公式,然后应该使用单元格值在每个单元格上创建一个超链接公式。
Sub Test()
Dim ws1 As Worksheet
Set ws1 = ThisWorkbook.Worksheets("Test")
ws1.Range("B33:F533").Value = ws1.Range("B33:F533").Value
For Each i In ws1.Range("B33:B533")
i.Formula = "=HYPERLINK(""https://somelocation/" & i.Value & """,""" & i.Value & """)"
Next
End Sub
编辑:它现在工作正常。谢谢所有的帮助!
i.Formula = "=HYPERLINK('https://somelocation/"&i.Value&","& i.Value"')"
公式中有错误。在i.Value"')
你缺少&
,i.Value & "'
。下面添加了正确的“编译”代码:
i.Formula = "=HYPERLINK('https://somelocation/" & i.Value & "," & i.Value & "')"
同样值得注意的是,与其编写"&i.Value&"
并让VBA IDE添加空格,不如自己动手做,例如:" & i.Value & "
。
您的代码有2个缺陷,应添加最后一个&
以获取语法正确的公式,并在"
和之间添加空格&
,否则VBA不会发现它是正确的。
编辑; 第三个缺陷:
创建公式的行也是错误的。让我们分解一下:"=HYPERLINK('https://somelocation/" & i.Value & "," & i.Value & "')"
公式中的参数为:'https://somelocation/" & i.Value & "," & i.Value & "'
因此该行的输出示例为'https://somelocation/1,1'
。起初,我以为您是用逗号编写URL,好吗?但是后来我查看了HYPERLINK
Excel中的函数,它需要两个参数。您只给出一个参数。Excel公式还希望使用双引号而不是单引号。您可以像这样在VBA中转义双引号""
。
正确的行应为:
i.Cells(1, 1).Formula = "=HYPERLINK(""https://somelocation/" & i.Value & """,""" & i.Value & """)"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句