设为首页收藏本站|繁體中文

Excel 技巧网

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

查看: 22970|回复: 12

[函数与公式] 为什么单击hyperlink函数引用工作表超链接会显示“引用无效”提示?

[复制链接]
发表于 2011-1-8 23:53:26 | 显示全部楼层 |阅读模式
  • 署名作者: lrlxxqxa
  • 版权声明: 版权归本站与作者共有 除本站官方外非作者本人转载须经许可并注明出处
  • 本文来自:
  • 引用作品:
  • 适用版本: 2010 2007 2003以前版本 
  • 语言环境: 简体中文
  • 学习方法: 掌握Excel技巧的关键是动手操作 | 下载 ≠ 知识


  • 免费注册成为本站会员,享用更多功能,结识更多Office办公高手!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    本帖最后由 lrlxxqxa 于 2011-1-9 12:12 编辑

    Q:为什么单击hyperlink函数引用工作表超链接会显示“引用无效”提示?

    3.jpg

    A:问题的表象原因及处理办法是灰色字体(因为引用的工作表名称中有空格,删掉空格即可,否则当用hyperlink函数超连接时会造成“引用无效”警告。)这也是我最初对此问题的误解。

    引用无效.jpg

    这个问题的本质原因不仅仅是空格,而是当工作表名称中含有【$ % ` ~ ! @ # ^ & ( ) + - = , | " ; { }】等字符或以数字开头时,跨表引用就需要在工作表名称前后加【'】号才能正常,也就是这种格式:'工作表名称'!单元格引用

    由此,原问题附件中的公式应进行相应调整,把原公式形式如
    1. =HYPERLINK("#"&INDEX(sht,ROW(A1))&"!a1",INDEX(sht,ROW(A1)))
    复制代码
    的在工作表名称前后加上’,修改为如下
    1. =HYPERLINK("#'"&INDEX(sht,ROW(A1))&"'!a1",INDEX(sht,ROW(A1)))
    复制代码


    这样,即使工作表名称中含有各种上述符号,超链接也可以正常跳转了。

    工作底稿(问题件).rar

    22.42 KB, 下载次数: 117, 下载积分: 消费券 -5 Ti币

    发表于 2011-1-9 09:57:48 | 显示全部楼层
    包含空格只是现象之一,删除空格只是做法之一。

    本质是:
    工作表名以数字开头或者包含空格、以及以下字符的情况,跨表引用都将自动加'号,变成='工作表名'!A1形式:
    $ % ` ~ ! @ # ^ & ( ) + - = , | " ; { }

    即,解决方案是工作表名前后加'号

    评分

    参与人数 1魅力值 +5 收起 理由
    lrlxxqxa + 5 谢谢指正!纠正了很久以来我这个知识点的误 ...

    查看全部评分

    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2011-1-9 12:30:36 | 显示全部楼层
    本帖最后由 lrlxxqxa 于 2011-1-9 12:44 编辑

    通过如下操作可见,公式中引用的工作表名称前后加'后,不但工作表名包含空格的可正常跳转,名称中带括号的工作表也可以顺利跳转。

    0.gif

    当我们进行跨表引用时,Excel会根据所引用的工作表名称,自动决定是否添加',看如下操作:

    1.gif

    可以看到,当工作表名称很规范时,跨表引用时工作表名称前后不会自动添加',当含有空格、括号等符号时,'自动会被添加在工作表名称前后了。

    评分

    参与人数 2魅力值 +10 收起 理由
    APOLLO + 5 谢谢解惑
    sjz76meizi + 5 谢谢

    查看全部评分

    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2011-1-9 12:51:25 | 显示全部楼层
    indirect函数遭遇此类问题时也是同理解决:
    [函数与公式] indirect函数不能引用名称中有()的工作表问题 http://www.exceltip.net/thread-2597-1-1.html
    回复 支持 反对

    使用道具 举报

    发表于 2011-1-12 18:09:36 | 显示全部楼层
    学习了
    回复 支持 反对

    使用道具 举报

    发表于 2011-1-13 11:34:50 | 显示全部楼层
    谢谢斑竹了
    回复 支持 反对

    使用道具 举报

    发表于 2011-7-13 17:43:45 | 显示全部楼层
    学习了
    回复 支持 反对

    使用道具 举报

    发表于 2011-9-28 12:13:24 | 显示全部楼层
    本帖最后由 未定尘埃 于 2011-9-28 12:20 编辑

    找了好久,终于找到这个解决办法了。
    不过,我想问问就是,前面加的那个“#”是做什么用的呢?
    我编辑的函数是这样的:
    HYPERLINK(工作表名&"!a1",工作表名)
    当工作表名没有那些符号的时候,就能正常超链接。
    后来我发现括号的问题后,就改为
    HYPERLINK("'"&工作表名&"'!a1",工作表名)
    可是这个时候就显示为错误了。
    对比LZ介绍的公式,关键就在于这个#.就是说改为HYPERLINK("#'"&工作表名&"'!a1",工作表名)就可以正常超链接了。
    请问这个是做什么用的呢?
    回复 支持 反对

    使用道具 举报

    发表于 2011-11-17 22:37:18 | 显示全部楼层
    本帖最后由 L_Yang136 于 2011-11-17 22:45 编辑


    "#"号表示本工作簿。
    回复 支持 反对

    使用道具 举报

    发表于 2013-3-1 20:51:56 | 显示全部楼层
    谢谢谢谢  疑惑很久了 谢谢高人们的分享
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    Excel技巧网的会员探讨问题仅代表其个人意见,与网站的立场无关。任何违反国家和地方相关法律法规的言论,本站有义务协助政府相关部门追究发言者的责任!
    本站中非注明转载文章与案例的版权为作者与Excel技巧网共有。若非原文作者,本站之外任何单位或个人未经允许,不得将其用于商业用途。
    若非原文作者,任何形式的非商业性转载必须获得Excel技巧网或作者允许,并注明作者和出处。
    会员发表的帖子如涉及版权纠纷,须自行负责。详情请参考注册时的网站服务条款。
    本站特聘法律顾问:沈学律师

    Archiver|手机版|Excel技巧网 ( 闽ICP备08107682号-2 ) | 闽公网安备 35020302032608号  

    GMT+8, 2019-6-20 13:03

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表