您当前的位置: 首页 > 办公软件教程 > Excel教程 浏览
ExcelVBA引用单元格内字符串型代码并执行
发布时间:2015-10-27    点击率:次    来源:www.sytcke.com    作者:电脑技术学习网

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

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

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

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

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

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

  在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

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

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

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

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

ExcelVBA引用单元格内字符串型代码并执行
发表留言
发表留言请先登录!
免责声明:本站发布的信息和评论纯属网民个人行为,并不代表本站立场,如发现有违法信息或侵权行为,请直接与本站管理员联系,我们将在收到您的信息后24小时内作出处理!