Excel中,如何用vba实现另存为工作表?(去掉公式)

我用公式和vba窗口输入填完了工作表,现在我想实现另一个功能,点击保存按钮,将填好的工作表另存在我指定的地方(只要保存文本和单元格式样,不要公式和vba工程)该如何实现?... 我用公式和vba窗口输入填完了工作表, 现在我想实现另一个功能,点击保存按钮,将填好的工作表另存在我指定的地方(只要保存文本和单元格式样,不要公式和vba工程)该如何实现??

麻烦vba高手指点,或给我相关代码,搞定高分追加送上
展开
 我来答
hbclikai
2010-01-25 · TA获得超过459个赞
知道小有建树答主
回答量:1619
采纳率:0%
帮助的人:531万
展开全部
楼主你好,我给你想了个有效的办法
首先全选,然后选择性粘贴,只粘贴数值,这样就能在不改变任何东西的情况下去掉公式,只留下数值了,楼主快去试一试吧

Cells.Select '全选
Selection.Copy '复制
Selection.PasteSpecial Paste:=xlPasteValues '选择性粘贴,只粘贴数值,去掉公式,不破坏格式
ActiveWorkbook.SaveAs Filename:="C:\Noformula.xls"

这个只是基本步骤
当然了,如果只这样的话,那么原来表格里面的公式也没了,楼主根据自己的具体情况稍微一修改就行了

楼主,写完之后我又看了看,觉得这样不能去掉宏,只能去掉公式,于是我又写了一段,这段的思路如下:
新建一个工作簿,然后选择性的把数据粘贴过去,然后保存,这样的话就可以在不破坏任何东西的情况下去掉公式和宏(vba代码)了
代码如下:

Cells.Select '全选
Selection.Copy '复制

Dim xlApp As Excel.Application '创建一个新的excel
Dim xlBook As Excel.Workbook
Dim xlSheet1 As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Add
Set xlSheet1 = xlBook.Worksheets("sheet1") '设置活动工作表
xlApp.DisplayAlerts = False '关闭警告
xlApp.Visible = True '设置EXCEL对象可见

xlSheet1.Activate '激活新的excel工作表
xlSheet1.Cells.PasteSpecial Paste:=xlPasteValues '选择性粘贴,只粘贴数值,去掉公式,不破坏格式
xlBook.SaveAs Filename:="C:\Noformula.xls" '楼主,这个保存路径名称你自己改
msgbox "文件保存为C:\Noformula.xls"
xlApp.DisplayAlerts = True
xlBook.Close '关闭工作表
xlApp.Quit '退出excel程序

楼主,我写得很辛苦哦,我女朋友给我聊qq我都没理她
晋访7V
2010-01-25 · TA获得超过1398个赞
知道小有建树答主
回答量:717
采纳率:100%
帮助的人:538万
展开全部
一楼的做法是正确的。去掉自身中的代码的方法是有的,(文件自杀的代码都有)不过这没有什么意义。没有特殊需要,可以用一楼的方法做个副本也就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式