Excel工作表中往往存在著各種公式,當公式引用的單元格中的數(shù)據(jù)發(fā)生改變時,公式所在單元格計算結(jié)果也會隨之變化。但在實際操作中,有時需要在公式獲得計算結(jié)果后,其值能夠固定,不再隨著引用單元格中值的變化而變化。此時,將單元格中的公式刪除以取消與引用單元格的關(guān)聯(lián)是解決這個問題的一個辦法,本例將介紹使用VBA程序快速刪除單元格中的公式的方法。 1、啟動Excel 2013并打開需要處理的工作表,E3:F6單元格區(qū)域的單元格中存在著公式。在“開發(fā)工具”選項卡的“控件”組中單擊“插入”按鈕,在打開的列表的“表單控件”欄中選擇“按鈕”控件,如圖1所示。
圖1 選擇“按鈕”控件 2、按住左鍵拖動鼠標在工作表中繪制該控件,此時將打開“指定宏”對話框,在“宏名”文本框中輸入宏名后單擊“新建”按鈕,如圖2所示。
圖2 設(shè)置宏名 (3)打開Visual Basic編輯器并自動創(chuàng)建名為“刪除公式”的過程,在代碼窗口中輸入過程代碼,如圖3所示。具體的程序代碼如下。
圖3 輸入程序代碼 01 Sub 刪除公式() 02 Dim Mywb As Workbook,Myws As Worksheet 03 Dim rng As Range,rngA As Range 04 For Each Mywb In Workbooks 05 With Mywb 06 For Each Myws In.Worksheets 07 On Error Resume Next 08 Set rngA=Myws.UsedRange.SpecialCells(xlCellTypeFormulas) '獲取公式單元格區(qū)域引用 09 For Each rng In rngA 10 rng.Value=rng.Value'將公式轉(zhuǎn)換成數(shù)值 11 Next 12 Next 13 End With 14 Next 15 End Sub 注意 在這里的程序代碼中,使用For Each……In結(jié)構(gòu)對每個工作簿的每張工作表進行循環(huán),使用SpecialCells(xlCellType Formulas)語句獲取工作表中帶有公式的單元格。同樣使用For Each……In語句來遍歷所有帶有公式的單元格,使用rng.Value=rng.Value語句將單元格的值賦予單元格以實現(xiàn)將單元格中的公式轉(zhuǎn)換為具體的數(shù)值。 4、切換到Excel工作表,右擊按鈕,選擇快捷菜單中的“編輯文字”命令,然后將按鈕上的文字修改為“刪除公式”。取消對按鈕文字的編輯后單擊該按鈕運行程序,工作表中的所有公式均被刪除,原來帶有公式的單元格中只顯示了公式的計算結(jié)果,如圖4所示。
圖4 刪除單元格中的公式 本文已經(jīng)收錄至:《Office 2013應用技巧實例大全》 - Office2013高級應用篇 |
|