ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("模块1")编辑错误,参数不可选
时间: 2023-12-11 09:02:48 浏览: 31
这个错误是因为在 VBA 中,不能直接删除当前正在执行的模块。如果您想删除该模块,请将它保存到另一个文件中,然后再从该文件中删除它。
以下是一种可能的解决方法:
1. 将该模块另存为另一个文件。
2. 在新文件中打开该模块并删除它。
3. 保存并关闭新文件。
4. 在原始文件中,使用以下代码删除该模块:
```
Dim VBComp As Object
Set VBComp = ThisWorkbook.VBProject.VBComponents("模块1")
ThisWorkbook.VBProject.VBComponents.Remove VBComp
```
注意,这段代码应该不在模块1中运行,而是在另一个模块或工作表事件中运行。
相关问题
Excel VB 点击按钮在现有的Userform上创建一个按钮并保存改按钮的带码在VBA 内,
这是一个可以回答的技术问题。在Excel VBA中,可以使用以下代码来创建一个按钮并保存其代码:
Sub CreateButton()
Dim newButton As Object
'创建一个新的CommandButton对象
Set newButton = ThisWorkbook.VBProject.VBComponents("UserForm1").Designer.Controls.Add("Forms.CommandButton.1")
'给按钮设置名称和显示文本
newButton.Name = "Button1"
newButton.Caption = "点击我"
'给按钮设置位置和大小
newButton.Width = 80
newButton.Height = 30
newButton.Top = 50
newButton.Left = 50
'给按钮设置执行的代码
newButton.OnClick = "Button1_Click"
'保存新创建的按钮的代码到VBA
ThisWorkbook.VBProject.VBComponents("UserForm1").CodeModule.InsertLines _
ThisWorkbook.VBProject.VBComponents("UserForm1").CodeModule.CountOfLines + 1, _
"Private Sub Button1_Click()" & vbCrLf & _
" '在这里编写按钮点击后要执行的代码" & vbCrLf & _
"End Sub"
End Sub
请将上面代码中的 UserForm1 和 Button1 替换成您自己的代码。
Excel vba删除所有宏模块的代码
你可以使用以下VBA代码删除所有的宏模块:
```
Sub DeleteAllModules()
Dim i As Integer
For i = ThisWorkbook.VBProject.VBComponents.Count To 1 Step -1
ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents(i)
Next i
End Sub
```
这个代码会循环遍历所有的VBComponents,然后逐个删除它们。请注意,这个操作不能被撤消,所以在执行之前请确保备份你的工作簿。