use*_*099 2 excel vba excel-vba
我有一个模块,从整个工作表中删除所有公式,然后,它应该使用单元格值在每个单元格上创建一个超链接公式.
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
Run Code Online (Sandbox Code Playgroud)
编辑:它现在正在完美运作.谢谢你的帮助!
i.Formula = "=HYPERLINK('https://somelocation/"&i.Value&","& i.Value"')"
Run Code Online (Sandbox Code Playgroud)
公式中有错误.在i.Value"')
你缺少&
,i.Value & "'
.下面添加了正确的"编译":
i.Formula = "=HYPERLINK('https://somelocation/" & i.Value & "," & i.Value & "')"
Run Code Online (Sandbox Code Playgroud)
另外值得注意的是,不要编写"&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 & """)"
归档时间: |
|
查看次数: |
1064 次 |
最近记录: |