Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel:指向另一个单元格指定的单元格的超链接';s值_Excel - Fatal编程技术网

Excel:指向另一个单元格指定的单元格的超链接';s值

Excel:指向另一个单元格指定的单元格的超链接';s值,excel,Excel,我有一个文档需要通过从另一个单元格获取地址来生成指向同一工作簿中某个单元格的超链接。以下是我现在拥有的: =hyperlink(CELL("address",INDEX('Budget Record'!C3:C105,MATCH(Y73,'Budget Record'!C3:C105,0),1))) 这将显示相应的位置: '[Calendar Budget.xlsx]Budget Record'!$C$3 但是,单击时,它表示Excel无法打开指定的文件 我已尝试手动创建指向该值的超链接,但

我有一个文档需要通过从另一个单元格获取地址来生成指向同一工作簿中某个单元格的超链接。以下是我现在拥有的:

=hyperlink(CELL("address",INDEX('Budget Record'!C3:C105,MATCH(Y73,'Budget Record'!C3:C105,0),1)))
这将显示相应的位置:

'[Calendar Budget.xlsx]Budget Record'!$C$3
但是,单击时,它表示Excel无法打开指定的文件

我已尝试手动创建指向该值的超链接,但仍然无法正常工作:

=hyperlink('[Calendar Budget.xlsx]Budget Record'!$C$3)
但是,如果我把它插入到goto对话框中,它就没有问题了


我是否遗漏了一个额外的步骤?

查看了Excel提供的所有内置超链接选项后,我无法找到让Excel将您链接到动态/更改单元格引用的方法。当然,我转向VBA:)。。。这是一个非常简单的宏,只有几行代码。试试看:

  • 按Alt+11打开Visual Basic编辑器(VBE)
  • 如果您的project explorer尚未打开,请单击此图标:
  • 双击要超链接处理的工作表选项卡:
  • 将以下代码粘贴到空白处:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
        'check if user is selecting the 'hyperlink' cell
        If Target.Address = "$A$1" Then
    
            'run the 'selectCell()' subroutine
            Call selectCell
    
        End If
    
    End Sub
    
    Sub selectCell()
    
        Dim goToAddress As String
    
        'get cell address
        goToAddress = Range("A2").Value
    
        'send user to this cell
        Range(goToAddress).Select
    
    End Sub
    
  • 转到工作表,在单元格
    B1
    中键入
    G3
    ,测试脚本

  • 选择单元格
    A1
    。宏应自动选择单元格
    G3
  • 希望这有帮助


    查看了Excel提供的所有内置超链接选项后,我无法找到让Excel将您链接到动态/更改单元格引用的方法。当然,我转向VBA:)。。。这是一个非常简单的宏,只有几行代码。试试看:

  • 按Alt+11打开Visual Basic编辑器(VBE)
  • 如果您的project explorer尚未打开,请单击此图标:
  • 双击要超链接处理的工作表选项卡:
  • 将以下代码粘贴到空白处:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
        'check if user is selecting the 'hyperlink' cell
        If Target.Address = "$A$1" Then
    
            'run the 'selectCell()' subroutine
            Call selectCell
    
        End If
    
    End Sub
    
    Sub selectCell()
    
        Dim goToAddress As String
    
        'get cell address
        goToAddress = Range("A2").Value
    
        'send user to this cell
        Range(goToAddress).Select
    
    End Sub
    
  • 转到工作表,在单元格
    B1
    中键入
    G3
    ,测试脚本

  • 选择单元格
    A1
    。宏应自动选择单元格
    G3
  • 希望这有帮助

    (代表OP发布)

    我已经找到了一个解决办法。基本上,问题似乎出在格式上

    基本上我需要三个步骤。第一个是获取作为完整地址返回的单元格的位置(包括文件、工作表和单元格)。我是这样做的:

    =CELL("address",INDEX('Budget Record'!C3:C105,MATCH(Y73,'Budget Record'!C3:C105,0),1))
    
    以下是这一结果的示例:

    '[Calendar Budget.xlsx]Budget Record'!$C$3
    
    问题是开头的撇号位置不对。要用作超链接,字符串应为:

    [Calendar Budget.xlsx]'Budget Record'!$C$3
    
    因此,我有一个步骤,删除起始字符串的前22个字符:

    =RIGHT(Z73,LEN(Z73)-23)
    
    其结果如下:

    Budget Record'!$C$3
    
    =HYPERLINK("[Calendar Budget.xlsx]'"&AA73)
    
    接下来,我需要在字符串的开头添加以下内容:

    [Calendar Budget.xlsx]'
    
    我这样做是因为:

    Budget Record'!$C$3
    
    =HYPERLINK("[Calendar Budget.xlsx]'"&AA73)
    
    结果输出如下所示:

    [Calendar Budget.xlsx]'Budget Record'!$C$3
    
    因此,我们有一个指向另一个工作表中某个单元格的超链接,该超链接根据初始引用的单元格动态变化

    (代表OP发布)

    我已经找到了一个解决办法。基本上,问题似乎出在格式上

    基本上我需要三个步骤。第一个是获取作为完整地址返回的单元格的位置(包括文件、工作表和单元格)。我是这样做的:

    =CELL("address",INDEX('Budget Record'!C3:C105,MATCH(Y73,'Budget Record'!C3:C105,0),1))
    
    以下是这一结果的示例:

    '[Calendar Budget.xlsx]Budget Record'!$C$3
    
    问题是开头的撇号位置不对。要用作超链接,字符串应为:

    [Calendar Budget.xlsx]'Budget Record'!$C$3
    
    因此,我有一个步骤,删除起始字符串的前22个字符:

    =RIGHT(Z73,LEN(Z73)-23)
    
    其结果如下:

    Budget Record'!$C$3
    
    =HYPERLINK("[Calendar Budget.xlsx]'"&AA73)
    
    接下来,我需要在字符串的开头添加以下内容:

    [Calendar Budget.xlsx]'
    
    我这样做是因为:

    Budget Record'!$C$3
    
    =HYPERLINK("[Calendar Budget.xlsx]'"&AA73)
    
    结果输出如下所示:

    [Calendar Budget.xlsx]'Budget Record'!$C$3
    

    因此,我们有一个指向另一个工作表中某个单元格的超链接,该超链接根据初始引用的单元格动态变化

    如果关闭了
    Calendar Budget.xlsx
    ,则链接将需要完整路径。Calendar Budget.xlsx实际上是同一工作簿。我尝试在删除[Calendar Budget.xlsx]部分的情况下执行额外的步骤,但仍然无法运行。如果关闭
    Calendar Budget.xlsx
    ,则链接将需要完整路径。Calendar Budget.xlsx实际上是同一工作簿。我试着在删除[Calendar Budget.xlsx]部分的地方多做一步,但仍然不起作用。