体验零代码搭建

ExcelVBA引用单元格内字符串型代码并执行

网友投稿  ·  2024-01-18 19:01  ·  云表格  ·  阅读 517


单击Visual Basic工具栏上的安全按钮,在弹出的安全性对话框中可靠发行商标签项底下的‘信任对于“Visual Basic 项目”的访问’前打√。

单击Visual Basic工具栏上的安全按钮,在弹出的安全性对话框中可靠发行商标签项底下的‘信任对于“Visual Basic 项目”的访问’前打√。

ExcelVBA引用单元格内字符串型代码并执行

ALT+F11打开VBE编辑器,单击菜单工具-引用,在弹出的引用-VBAProject对话框中,选择引用Microsoft Visual Basic 6.0 Extensibility这一项。

新建一个模块,命名为:yyzx

在Sheet1(Sheet1)代码窗口,粘贴如下代码:

Sub 引用单元格字符串型代码并执行()

Dim sr, ksh, zh

On Error Resume Next

ksh = ThisWorkbook.VBProject.VBComponents("yyzx").CodeModule.ProcBodyLine("yyrgzx", vbext_pk_Proc)

If Err.Number = 35 Then 判断yyrgzx过程是否存在

sr = "Sub yyrgzx()" & vbCrLf & Cells(1, 1) & vbCrLf & "End Sub"

With ThisWorkbook.VBProject.VBComponents("yyzx").CodeModule

.AddFromString sr

End With

Call 引用

Else

With ThisWorkbook.VBProject.VBComponents("yyzx").CodeModule

ksh = .ProcBodyLine("yyrgzx", vbext_pk_Proc)

zh = .ProcCountLines("yyrgzx", vbext_pk_Proc)

.DeleteLines ksh, zh - 1

End With

sr = "Sub yyrgzx()" & vbCrLf & Cells(1, 1) & vbCrLf & "End Sub"

With ThisWorkbook.VBProject.VBComponents("yyzx").CodeModule

.AddFromString sr

End With

Call 引用

End If

End Sub

Sub 引用()

Call yyrgzx

End Sub

利用窗体工具栏上的按钮,拖拉出一个按钮,命名为:引用单元格内容执行,指定:“Sheet1.引用单元格字符串型代码并执行”的宏。

6查看效果,当A1单元格内容变化时,单击引用单元格内容执行,将根据A1单元格中字符串代码执行,从而产生不同效果。


excel利用自定义函数去掉字符串中的重复字符 << 上一篇
2024-01-18 19:01
Excel 2003如何使用条件格式设置自动提醒?
2024-01-18 19:01
下一篇 >>

相关推荐