我正在尝试将用户表单中的组合数据传递到单元格以创建超链接。
我希望最终得到如下的超链接结构:
我把所有这些都孤立地工作了:
.Cells(lRow, 2).Value = "=Hyperlink(""H:\revised_action_tracker\test\"")"
.Cells(lRow, 3).Value = UCase(Left(Me.cbo_action_type.Value, 2))
.Cells(lRow, 4).Value = Format(CStr(Now), "yyyymmdd_hhmmss")
当我尝试将第2部分和第3部分加入第1部分的工作超链接时,会抛出语法错误。
我希望超链接看起来像这样:
H:\ revised_action_tracker \测试\ CT-20170322_162111
我觉得我已经绕过这个圈子,任何帮助都会感激不尽。
答案 0 :(得分:0)
如果您在步骤1之前处理第2部分和第3部分,这可以解决。这样您就可以在超链接公式中添加这两部分的文本:
ActiveSheet.Cells(lRow, 3).Value = UCase(Left(Me.cbo_action_type.Value, 2))
ActiveSheet.Cells(lRow, 4).Value = Format(CStr(Now), "yyyymmdd_hhmmss")
ActiveSheet.Cells(lRow, 2).Value = _
"=Hyperlink(""H:\revised_action_tracker\test\" & _
ActiveSheet.Cells(lRow, 3).Value & ActiveSheet.Cells(lRow, 4).Value & """)"
或者,如果你不想把它变成这个大句子,请声明一个变量来连接这些字符串,如下所示:
ActiveSheet.Cells(lRow, 3).Value = UCase(Left(Me.cbo_action_type.Value, 2))
ActiveSheet.Cells(lRow, 4).Value = Format(CStr(Now), "yyyymmdd_hhmmss")
Dim c As String: c = ActiveSheet.Cells(lRow, 3).Value & ActiveSheet.Cells(lRow, 4).Value
ActiveSheet.Cells(lRow, 2).Value = "=Hyperlink(""H:\revised_action_tracker\test\" & c & """)"
作为替代方案,如果您想在不更改文本的情况下设置链接,可以创建一个包含简单字符串的单元格并将超链接与其关联,而不是使用公式HYPERLINK()创建它。所以你会有这样的事情:
ActiveSheet.Cells(lRow, 2).Value = "H:\revised_action_tracker\test\"
ActiveSheet.Cells(lRow, 3).Value = UCase(Left(Me.cbo_action_type.Value, 2))
ActiveSheet.Cells(lRow, 4).Value = Format(CStr(Now), "yyyymmdd_hhmmss")
ActiveSheet.Hyperlinks.Add Anchor:=Cells(lRow, 2), Address:="H:\revised_action_tracker\test\" & Cells(lRow, 3) & Cells(lRow, 4)