VBS 移除excel数据公式,只保留值

若是将excel数据公式移除,只保留计算以后的值,将大大减小excel文件.express

由于有上篇移除excel外部数据连接的经验,进行excel数据公式移除将快的多,方法以下.ide

首先咱们得明白怎么手动移除excel的格式.函数

选中要处理的数据,而后右击 copy, 再右击paste Special,而后出现以下图的提示框.选中 Values. 此时要处理的数据将只以值呈现,格已去掉.spa

而后经过宏录制,来查看用的什么函数,发现VBA用PasteSpecial来处理. 接下来在搜索VBA函数. 内容以下:excel

应用于 Range对象的 PasteSpecial方法。orm

将剪贴板中的 Range对象粘贴到指定区域中。对象

expression.PasteSpecial(Paste, Operation, SkipBlanks, Transpose)blog

expression   必需。该表达式返回一个 Range对象。索引

Paste  XlPasteType 类型,可选。指定要粘贴的区域部分。ip

XlPasteType 可为如下 XlPasteType 常量之一。
xlPasteAll 默认值
xlPasteAllExceptBorders
xlPasteColumnWidths
xlPasteComments
xlPasteFormats
xlPasteFormulas
xlPasteFormulasAndNumberFormats
xlPasteValidation
xlPasteValues
xlPasteValuesAndNumberFormats

Operation  XlPasteSpecialOperation 类型,可选。指定粘贴操做。

XlPasteSpecialOperation 可为如下 XlPasteSpecialOperation 常量之一。
xlPasteSpecialOperationAdd
xlPasteSpecialOperationDivide
xlPasteSpecialOperationMultiply
xlPasteSpecialOperationNone 默认值
xlPasteSpecialOperationSubtract

SkipBlanks   Variant 类型,可选。若为 True,则不将剪贴板上区域中的空白单元格粘贴到目标区域中。默认值为 False。

Transpose   Variant 类型,可选。若为 True,则粘贴区域时转置行和列。默认值为 False。

应用于 Worksheet对象的 PasteSpecial方法。

以指定格式将剪贴板中的内容粘贴到工做表上。可用本方法从其余应用程序中粘贴数据,或以特定格式粘贴数据。

expression.PasteSpecial(Format, Link, DisplayAsIcon, IconFileName, IconIndex, IconLabel, NoHTMLFormatting)

expression   必需。该表达式返回一个 Worksheet对象。

Format   Variant 类型,可选。指定数据的剪贴板格式的字符串。

Link   Variant 类型,可选。若为 True,则创建与被粘贴数据的源之间的连接。若是源数据不适于连接,或源应用程序不支持连接,将忽略本参数。默认值为 False。

DisplayAsIcon   Variant 类型,可选。若为 True,则将粘贴内容显示为图标。默认值为 False。

IconFileName   Variant 类型,可选。若是 DisplayAsIcon 为 True,则指定包含所用图标的文件名。

IconIndex   Variant 类型,可选。图标文件内的图标索引号。

IconLabel   Variant 类型,可选。图标的文本标签。

NoHTMLFormatting   Variant 类型,可选。若为 True,则从 HTML 中删除全部的格式设置、超连接和图像。若为 False ,则完整粘贴 HTML。默认值为 False。

说明

注意   当 Format = “HTML”时,NoHTMLFormatting 才起做用。在全部其余状况下,NoHTMLFormatting  将被忽略。

必须在使用本方法以前选定目标区域。

本方法可能会更改工做表的选定区域,这取决于剪贴板中的内容。

而后根据此描述应用于 Worksheet对象的 PasteSpecial方法。

以指定格式将剪贴板中的内容粘贴到工做表上。可用本方法从其余应用程序中粘贴数据,或以特定格式粘贴数据。

expression.PasteSpecial(Format, Link, DisplayAsIcon, IconFileName, IconIndex, IconLabel, NoHTMLFormatting)

expression   必需。该表达式返回一个 Worksheet对象。

Format   Variant 类型,可选。指定数据的剪贴板格式的字符串。

Link   Variant 类型,可选。若为 True,则创建与被粘贴数据的源之间的连接。若是源数据不适于连接,或源应用程序不支持连接,将忽略本参数。默认值为 False。

DisplayAsIcon   Variant 类型,可选。若为 True,则将粘贴内容显示为图标。默认值为 False。

IconFileName   Variant 类型,可选。若是 DisplayAsIcon 为 True,则指定包含所用图标的文件名。

IconIndex   Variant 类型,可选。图标文件内的图标索引号。

IconLabel   Variant 类型,可选。图标的文本标签。

NoHTMLFormatting   Variant 类型,可选。若为 True,则从 HTML 中删除全部的格式设置、超连接和图像。若为 False ,则完整粘贴 HTML。默认值为 False。

说明

注意   当 Format = “HTML”时,NoHTMLFormatting 才起做用。在全部其余状况下,NoHTMLFormatting  将被忽略。

必须在使用本方法以前选定目标区域。

本方法可能会更改工做表的选定区域,这取决于剪贴板中的内容。

根据此描述,而后咱们找到VBS方法:

以下
Set UseRange1 = objWorkbook.Worksheets(j).UsedRange
     UseRange1.Copy
     UseRange1.PasteSpecial(-4163) '-4163表明 xlPasteValues 即只复制值.
至此,针对excel去除外部数据源连接及excel内部公式的方法所有总结结束. 这样处理下来文件大小减小了有1/3.知足了个人需求. 但愿对你们有帮助.

相关文章
相关标签/搜索