按钮请自行添加。
Sub 另存无VBA工作薄()
Application.DisplayAlerts = False '不显示警告信息
Workbooks.Add '新建工作薄。
With ActiveWorkbook '面向活动工作薄(新工作薄)
ThisWorkbook.ActiveSheet.Copy Before:=.Sheets(1)
'复制工作表到新工作薄的第1个工世扰作表之前
For i = .Sheets.Count To 2 Step -1
.Sheets(i).Delete '逆序逐个删除所面向对象的其余工作表
Next
With .Sheets(1) '面向其第1个工作表
If .Shapes.Count > 0 Then .Shapes.Delete
'如果“它”含有任何对象(指图片、按钮等),都予以删除
.UsedRange.Value = .UsedRange.Value '把“它”已使用的单元格区域内的公式转成值
End With '返回。即重新面向上一个对象。
For Each vbc In .VBProject.VBComponents '用变量vbc逐次代表所面向对象的每个VB工程元素
Select Case vbc.Type '按元素的类型值选择执行命令
Case 1, 2, 3 '如果类型值为1,2或3(对李团应为模块、类模块、窗体)
vbc.Remove '移除VB工程元素vbc
Case Else
vbc.CodeModule.DeleteLines 1, vbc.CodeModule.CountOfLines
'删除vbc(工作表或Thisworkbook)的代码区代码
End Select
Next
End With '返回。即搜扰旦重新面向上一个对象。
End Sub
如果你仅仅是这样一个动作,可否考虑直接使用 录制 宏 哪?