【200分】EXCEL中VBA关于宏的问题
来源:百度知道 编辑:UC知道 时间:2024/05/26 05:59:13
代码如下:
Sub Macro1()
str1 = CStr(Range("Sheet1!C11").Value)
str2 = CStr(Range("Sheet1!D1").Value)
ActiveWorkbook.SaveCopyAs str1 + " " + str2 + ".xls"
End Sub
然后,我需要在用这个VBA自动生成的文件“X Y.xls”中不带有宏,这个改怎么在原来代码的基础上再改?
情给出完整代码,200等着第一个给出可用代码的回答者!
待验证能使用后立即给分!
拿分来了,借着楼主的问题我也好好学习了一下.
以上代码从很多地方查到的,可以删除模块,窗体,以及工作簿工作表模块中的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
一楼的代码是对的!强