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.知足了個人需求. 但願對你們有幫助.

相關文章
相關標籤/搜索