【问题标题】:Assigning Macro to Text in Excel将宏分配给 Excel 中的文本
【发布时间】:2015-02-10 04:33:17
【问题描述】:

我有一个垂直的框列表

,每个项目都添加了不同的超链接

我已经看到通过“Followhyperlink”将宏分配给超链接并在那里调用宏的方法,但在我的情况下,它是多个超链接和多个宏,不确定是否可以这样做。

现在,我需要为每个超链接添加不同的宏,可以吗?

【问题讨论】:

  • 那些深蓝色的“东西”是什么?它们是按钮吗?形状?这些是什么?您想为每个超链接运行不同的宏吗?这是你的问题吗?
  • 为什么它们必须是超链接?如果它们是形状/按钮/等/。你不能简单地为形状本身分配一个宏吗? (提示:是的,你可以)。
  • 删除了我的答案。修改并重新发布:)
  • 好吧,如果 Siddharth Rout 正在回答它,我无法添加任何内容,保证很棒! (没有压力;))
  • 不是真的@SiddharthRout 你在过去一两周为我省去了很多麻烦,非常感谢!我在一份新工作中,正在编写 VBA(这不是我熟悉的东西,我也不是程序员!)而且它正在飞速发展! :)

标签: vba excel hyperlink


【解决方案1】:

由于您无法通过右键单击宏并单击“分配宏”将宏分配给 SmartArt,因此您可以在每个宏上放置一个形状并对其进行格式化,以便没有线条或颜色。一旦你这样做了,那么你就可以使用“Assign Macros”了。请参阅此屏幕截图。此外,不要将文本添加到 SmartArt,而是将文本添加到已放置在 SmartArt 顶部的每个形状。

然后这个...

在那个宏中,您可以使用Application.Caller,然后检索该形状的文本。然后,您可以根据文本执行特定任务。例如

Sub Button1_Click()
    Dim shp As Shape

    Set shp = Sheet1.Shapes(Application.Caller)

    Select Case shp.TextFrame2.TextRange.Text
        Case "Data Add on Y/N"
            '~~> Do Something
        Case "Product Data Last"
            '~~> Do Something

        '
        '~~> And So on
        '
    End Select
End Sub

【讨论】:

  • ++ 快捷方便
  • @David Zemens 感谢您的回复,这些框列表没有给我分配宏的选项(屏幕截图见下面的链接)i.stack.imgur.com/cAbOu.jpg
  • @TusharVarshney:更新了我的答案。顺便说一句,我不是大卫;)
猜你喜欢
  • 1970-01-01
  • 2018-01-11
  • 1970-01-01
  • 2012-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-09
  • 1970-01-01
相关资源
最近更新 更多