EXCEL VBA 点击按钮 自动复制当前表到一个新的工作簿到指定位置 ,而且只复制它的格式和数值 ,不要复制公

EXCEL VBA 点击按钮 自动复制当前表到一个新的工作簿到指定位置 ,而且只复制它的格式和数值 ,不要复制公式和模块。 最好每一句都有注释 谢谢

按钮请自行添加。

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
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-04
如果你仅仅是这样一个动作,可否考虑直接使用 录制 宏 哪?
相似回答