【200分】EXCEL中VBA关于宏的问题

2024-12-03 15:58:29
推荐回答(2个)
回答(1):

拿分来了,借着楼主的问题我也好好学习了一下.
以上代码从很多地方查到的,可以删除模块,窗体,以及工作簿工作表模块中的VBA代码.
工作簿事件,放进Thisworkbook里面。
工作簿保存的时候自动删除代码和模块。
楼主应该也是高手,我也不多解释了(主要我还一知半解着呢,呵呵)。如果不想用Workbook_BeforeClose,也可以用
Workbook_BeforeSave事件

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next

'这里放你的命名代码吧

With ActiveWorkbook.VBProject
For i = .VBComponents.Count To 0 Step -1
.VBComponents(i).CodeModule.DeleteLines 1, .VBComponents(i).CodeModule.CountOfLines
.VBComponents.Remove .VBComponents(i)
Next
End With
End Sub
*********
如果只是Alt+F8不显示宏的话,
你的宏前面加上Private这个宏就不会显示在宏列表中了。

Private Sub Macro1()
str1 = CStr(Range("Sheet1!C11").Value)
str2 = CStr(Range("Sheet1!D1").Value)
ActiveWorkbook.SaveCopyAs str1 + " " + str2 + ".xls"
End Sub

回答(2):

一楼的代码是对的!强