VBA – 超链接到新表单; 命名问题

我有一个input框(公司名称)的工作表创build一个新的选项卡和一个表中的新条目与新工作表的超链接。 超链接工作,但只有在名称中没有空格时(即如果名称是“公司”)。 超链接工作正常,但如果名称是“新公司”超链接不起作用。 我可以手动编辑链接后,使其重新工作,但我希望find解决这个问题的办法。 代码举例如下。

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 

总而言之,超链接在公司名称没有空格的情况下起作用,但是我想找一种方法来改变代码,使其在公司名称中使用空格。 任何帮助将非常感激。

改变这一行:

 strLink = strName & "!A1" 

 strLink = "'" & strName & "'!A1"