excel - 变量中的工作表名称包括文件路径
问题描述
我将工作表名称存储在变量中。当我使用该变量创建超链接时,生成的链接包含我不想要的文件路径,我只想要工作表名称。非常感谢任何帮助。
Dim wsname as string
wsname = ActiveSheet.Name ' at this point wsname = "sheetname"
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=wsname, SubAddress:= _
"", TextToDisplay:="Tasks"
链接创建为"C:\\.....\filename\\"sheetname"
我也尝试将 wsname 声明为 Worksheet(Dim wsname As Worksheet)。
解决方案
超链接到(一个单元格)另一个工作表
- 第一个示例在链接到同一工作表中的单元格的
Selection
(如果它是一个范围)的第一个单元格中创建一个超链接。A1
- 第二个示例在
Selection
(如果它是一个范围)的第一个单元格中创建一个超链接,该超链接链接到同一工作簿 ( ) 中的A1
单元格。Sheet2
ActiveWorkbook
Option Explicit
Sub addHyperlink()
Const dAddress As String = "A1"
If TypeName(Selection) = "Range" Then
Dim sws As Worksheet: Set sws = ActiveSheet
Dim sCell As Range: Set sCell = Selection.Cells(1)
sws.Hyperlinks.Add _
Anchor:=sCell, _
Address:="", _
SubAddress:="'" & sws.Name & "'!" & dAddress, _
TextToDisplay:="Tasks"
End If
End Sub
Sub addHyperlink2()
Const dName As String = "Sheet2"
Const dAddress As String = "A1"
If TypeName(Selection) = "Range" Then
Dim sws As Worksheet: Set sws = ActiveSheet
Dim sCell As Range: Set sCell = Selection.Cells(1)
On Error Resume Next
Dim dws As Worksheet: Set dws = sws.Parent.Worksheets(dName)
On Error GoTo 0
If Not dws Is Nothing Then
sws.Hyperlinks.Add _
Anchor:=sCell, _
Address:="", _
SubAddress:="'" & dws.Name & "'!" & dAddress, _
TextToDisplay:="Tasks"
Else
MsgBox "The worksheet '" & dName & "' does not exist.", _
vbCritical, "Add Hyperlink"
End If
Else
MsgBox "The current selection is not a range.", _
vbCritical, "Add Hyperlink"
End If
End Sub
推荐阅读
- string - 可以将字符串值转换为包含特殊字符串的整数,例如:(20+30+20)/45*100 任何解决方案?
- google-play - Google Play 购买中签名验证失败
- python - 在 before_task_publish 中拦截一个 celery 任务并阻止它被发布
- python - 如何使用命令更改 Mac 上的终端窗口大小
- html - 如何修复角度中的可编辑索引问题
- python - Python re.match CSV 编写器
- java - java kafka流中的UnresolvedAddressException,但K8s pod中的ping工作
- python - antlr4 for python target error: NameError: global name 'XX' is not defined
- c++ - c ++测试检查函数是否递归实现
- python - 我如何将 Python 代码翻译成 Julia 代码