2
私は、新しいタブを作成する入力ボックス(会社名用)と新しいシートへのハイパーリンク付きのテーブル内に新しいエントリを持つワークシートを持っています。ハイパーリンクは機能しますが、名前にスペースがない場合(つまり、名前が「会社」の場合)のみ動作します。ハイパーリンクはうまくいきますが、名前が "New Company"の場合、ハイパーリンクは機能しません。事実の後にリンクを手動で編集して再び機能させることができますが、ここでは問題の解決策を見つけることを望んでいます。コードの例は以下の通りです。会社名にスペースはありませんが、私はそれが会社名にスペースで動作するようにコードを変更する方法を見つけるたいときVBA - 新しいシートへのハイパーリンク。名前付けの問題
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
は結論として、ハイパーリンクが機能します。どんな助けでも大歓迎です。
へ
トリックをしたこと、ありがとうございます。あなたはなぜ、どのように働いているのか、私に記入してもらえますか? – Jon0311
@ Jon0311リンクの名前を適切な宣言のために一重引用符で囲む必要があります – RGA
Excelの式に別のワークシートのセルへの参照が含まれていて、そのワークシートの名前にスペース(たとえば)数式参照内のワークシート名の前後に一重引用符を追加します。= 'Sheet 1'!A1。新しいシートに名前にスペースが含まれるかどうか分からないので、常に単一引用符を追加することをお勧めします。 – jkpieterse