![Excel 2003 根据单元格的值应链接到不同的工作表](https://linux22.com/image/1353476/Excel%202003%20%E6%A0%B9%E6%8D%AE%E5%8D%95%E5%85%83%E6%A0%BC%E7%9A%84%E5%80%BC%E5%BA%94%E9%93%BE%E6%8E%A5%E5%88%B0%E4%B8%8D%E5%90%8C%E7%9A%84%E5%B7%A5%E4%BD%9C%E8%A1%A8.png)
我有一个单元格,根据所选值,它将具有不同的文本值(因为它是下拉列表的选择),需要将其链接到另一个工作表,该工作表最好具有文本值的名称。我需要在下拉列表中链接大约 50 个名称,然后必须有一个公式 VBA 将我链接到那里。
我将下拉列表的结果放在另一个单元格中作为 =Right,以便复制值并从那里建立到新工作表的链接,但我堆叠了。
此公式适用于特定名称,但我需要每次打开新工作表时更新“通用名称”:
如果范围 ("C29").Value="Edgar" 则 Sheets("Edgar").Select
先感谢您!
答案1
我不确定我是否完全理解了你的问题(例如,我不明白“链接到不同的工作表,最好有文本值的名称”或“我需要一个“通用名称”每次打开新工作表时都要更新”),但这是你可以做的事情没有VBA. 如果单元格C29
包含当前工作簿中工作表的名称,并且(在其他单元格中)您想要访问Q42
由单元格命名的工作表上的单元格的值C29
,请使用
=INDIRECT(C29 & "!Q42")
&
是字符串连接,因此这将构建字符串“Edgar!Q42”。该INDIRECT
函数将该字符串视为单元格引用。
这提供了只读访问权限:如果用户在单元格中填写C29
值“Edgar”(通过从下拉列表中选择,或任何其他方式),则 Sheet1 上的单元格可以展示来自工作表“Edgar”的值,例如 Edgar 的出生日期和地点、眼睛颜色等。我选择这些示例是因为您永远不会改变它们。但是,如果您的工作簿还包含动态信息,如当前地址和电话号码、身高和体重、职称和薪水等,那么用户将只能查看它们。如果您希望工作簿跳转到工作表“Edgar”,则需要 VBA。如果您希望能够在 Sheet1 中的单元格中输入数据并将其复制到工作表“Edgar”,我不知道这是否可以做到;但如果可能的话,我很确定这将需要 VBA。