我有一个带有输入框(公司名称)的工作表,它在表格中创建一个新选项卡和一个新条目,并带有指向新工作表的超链接。超链接有效,但前提是名称中没有空格(即名称为“公司”)。超链接工作正常,但如果名称是“新公司”,则超链接不起作用。我可以在事后手动编辑链接以使其再次工作,但我希望在这里找到问题的解决方案。代码示例如下所示。
Sub NewCompany()
Dim strName As String
Dim strLink As String
'get the name
'InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
strName = InputBox("Enter Company Name.", "NAME COLLECTOR")
'Exit sub if Cancel button used or no text entered
If strName = vbNullString Then Exit Sub
MsgBox "Creating Tab " & strName
'create new row
Rows("4:4").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'put Company name in column A
Cells(4, 1).Value = strName
' create new tab, input name in new tab cell, rename new tab
Sheets("Blank").Select
Application.Run "BLPLinkReset"
Sheets("Blank").Select
Application.CutCopyMode = False
Sheets("Blank").Copy After:=Sheets(5)
Application.Run "BLPLinkReset"
Sheets("Blank (2)").Select
Application.Run "BLPLinkReset"
Cells(3, 3).Value = strName
Sheets("Blank (2)").Name = strName
Sheets("Home").Select
Application.Run "BLPLinkReset"
Range("B4").Select
Application.CutCopyMode = False
'create hyperlink to new tab
strLink = strName & "!A1"
Range("B4").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
strLink, TextToDisplay:=strName
Range("A4").Select
End Sub
总之,超链接在公司名称中没有空格时起作用,但我想找到一种方法来更改代码,使其与公司名称中的空格一起使用。任何帮助将不胜感激。
答案 0 :(得分:1)
更改此行:
strLink = strName & "!A1"
到
strLink = "'" & strName & "'!A1"