从 VBA 代码动态创建宏(特别是 UDF)

Dynamically Create Macros (Specifically UDFs) from VBA Code

我不知道在搜索此功能时是否使用了正确的搜索词,但我很好奇,是否可以在 excel-[=17 中动态生成宏=]?如果可以,有哪些可能的方法?

excel-vba是否支持元编程?

这里是我提供的例子转换成VBA。您将需要包含对 Microsoft Visual Basic for Applications Extensibility 的引用,并在信任中心设置中启用对 VBA 项目模块的访问。

Sub CreateMacro()
Dim vbComp As VBComponent
Dim functionText As String

Set vbComp = ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule)

functionText = "Function MyTest()" & vbCrLf
functionText = functionText + "MsgBox " & Chr(34) & "Hello World" & Chr(34) & vbCrLf
functionText = functionText + "End Function"

vbComp.CodeModule.AddFromString functionText

End Sub