單擊Visual Basic工具欄上的安全按鈕,在彈出的安全性對話框中可靠發行商標簽項底下的‘信任對於“Visual Basic 項目”的訪問’前打√。
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單元格中字符串代碼執行,從而產生不同效果。