首页 > 解决方案 > 将以下链接添加到形状后关闭 Excel 文件

问题描述

我需要一个项目的帮助,我想要一个像“主菜单”表这样的东西。我添加了一些形状,就像将它们与其他 excel 文件链接起来的按钮一样。我需要这些形状做的是单击它们后,关闭此“主菜单”表,因为只需要选择我需要使用的表类型。所以这个想法是:

我首先打开了这个“main-menu.xlsm”。在它的第一个名为“Main”的工作表中,我有 3 个形状链接到其他三个 Excel 文件“sheet1.xlsx”、“sheet2.xlsx”和“sheet3.xlsx”。链接工作得很好,但我最终打开了两个 Excel,我需要这样做,所以在我单击打开“sheet1.xlsx”的形状后,它也会关闭“main-menu.xlsm”。

我遇到的是将此代码添加到 Sheet1(Main):

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

ActiveWorkbook.Saved = True
Workbooks("main-menu.xlsm").Close SaveChanges:=False

End Sub

但不幸的是,它不适用于形状。如果我创建文本而不是形状,将其链接到我需要的文件之一并单击它,那么代码就可以正常工作。任何人都可以帮我解决这个问题吗?感谢您花时间和耐心阅读本文并尽可能提供帮助。

标签: excelvba

解决方案


请尝试下一种方法:

  1. 删除现有链接,但复制其引用(首先,仅适用于一个形状...);

  2. Sub在标准模块中创建下一个

    Sub MyShape1_Click() Workbooks.Open ("Full name of the previously linked workbook") ThisWorkbook.Close SaveChanges:=False End Sub

Sub当您需要将其分配给适当的形状时,您需要以一种相关的方式命名每个。

  1. 右键单击您的形状,选择“分配宏...”,选择“宏在:”ThisWorkbook 并查找上述内容Sub。选择它并单击“确定”。

  2. 享受它会做什么......


推荐阅读