所有,
我在Excel宏中遇到一些VBA代码的错误.这是我正在尝试的工作流程:
一旦我知道这个范围,我使用下面的代码写入新创建的工作表代码模块,这样我就可以设置'change_event'.我只想在我刚刚确定的范围内的值发生变化时触发change_event:`
Dim Startline As Long
Startline = 1
Dim x As Integer
x = Errors.Count - 1
Dim rng As Range
Set rng = Range("D" & LastRow - x & ":" & "D" & LastRow)
With ThisWorkbook.VBProject.VBComponents(VRS.CodeName).CodeModule
Startline = .CreateEventProc("Change", "Worksheet") + 1
.InsertLines Startline, "Dim rng As Range "
Startline = Startline + 1
.InsertLines Startline, "Set rng = Range(" & """" & CStr(rng.Address) & """" & ")"
Startline = Startline + 1
.InsertLines Startline, …Run Code Online (Sandbox Code Playgroud)创建一个运行以下代码的表单。
MsgBox (VBE.ActiveCodePane.CodeModule)
Run Code Online (Sandbox Code Playgroud)
并出现此消息。
现在保存,关闭并重新打开数据库,然后看到以下消息:
运行时错误“ 91”:未设置对象变量或带块变量
如果您打开Visual Basic编辑器,它将再次运行。即使您关闭VBE,它仍然会运行。
但是,当您关闭整个应用程序并重新打开它,而使VBE关闭时,您会收到错误消息。
为什么?这里发生了什么?