这可能相当容易"不,你不能"#34;回答。但是,如果你们中的任何人知道如何使这项工作,我会非常感激。
我有一个名为" DES"另一个名为" FA"。当我将一个单元格改为" DES"或" FA"我想让它运行" DES"或者" FA"宏。我不知道如何使用一系列if / else逻辑来确定要运行的宏。我宁愿拥有它,所以Go_to_macro()函数将输入变量并运行该函数。这样做的原因是我最终会有几十个我希望以这种方式运行的宏。
以下示例代码:"调用命令"是有问题的地方。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("command_des").Value <> Sheets("Back End").Range("command_be").Value Then
Dim command, number
command = Range("command_des").Value
ticker = Range("number_des").Value
Call Go_to_macro(command, number)
Else
End If
End Sub
//////////////////////////////////////////////////////////////////////////
Public Function Go_to_macro(command, number)
Range("command_be").Value = command
Range("command_" & command).Value = Range("command_be").Value
If Range("number_" & command).Value <> Range("number_be").Value Then
Call command
Else
End If
End Function
//////////////////////////////////////////////////////////////////////////
Sub DES()
Cells(1,1).Value = "Hello World!"
End Sub
/////////////////////////////////////////////////////////////////////////
Sub FA()
Cells(1,1).Value = "Goodbye World..."
End Sub
/////////////////////////////////////////////////////////////////////////
关于解决方案的想法?
最后我应该得到&#34; Hello World&#34;在单元格A1,如果我写&#34; DES&#34;进入命名范围或'再见世界......&#34;在单元格A1,如果我写&#34; FA&#34;进入相同的命名范围。这样你就可以清楚了解产出。
答案 0 :(得分:2)
您可以使用
Application.Run command
(仅供参考,Call
关键字已过时,不应使用
而不是
Call Go_to_macro(command, number)
使用
Go_to_macro command, number
)