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