位置:首頁(yè) > 軟件操作教程 > 辦公軟件 > Excel > 問(wèn)題詳情

使用VBA程序快速刪除單元格中的公式的方法

提問(wèn)人:周麗平發(fā)布時(shí)間:2021-08-31

1、啟動(dòng)Excel 2013并打開(kāi)需要處理的工作表,E3:F6單元格區(qū)域的單元格中存在著公式。在“開(kāi)發(fā)工具”選項(xiàng)卡的“控件”組中單擊“插入”按鈕,在打開(kāi)的列表的“表單控件”欄中選擇“按鈕”控件,如圖1所示。

image.png

圖1 選擇“按鈕”控件

2、按住左鍵拖動(dòng)鼠標(biāo)在工作表中繪制該控件,此時(shí)將打開(kāi)“指定宏”對(duì)話(huà)框,在“宏名”文本框中輸入宏名后單擊“新建”按鈕,如圖2所示。

image.png

圖2 設(shè)置宏名

(3)打開(kāi)Visual Basic編輯器并自動(dòng)創(chuàng)建名為“刪除公式”的過(guò)程,在代碼窗口中輸入過(guò)程代碼,如圖3所示。具體的程序代碼如下。

image.png

圖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)語(yǔ)句獲取工作表中帶有公式的單元格。同樣使用For Each……In語(yǔ)句來(lái)遍歷所有帶有公式的單元格,使用rng.Value=rng.Value語(yǔ)句將單元格的值賦予單元格以實(shí)現(xiàn)將單元格中的公式轉(zhuǎn)換為具體的數(shù)值。

4、切換到Excel工作表,右擊按鈕,選擇快捷菜單中的“編輯文字”命令,然后將按鈕上的文字修改為“刪除公式”。取消對(duì)按鈕文字的編輯后單擊該按鈕運(yùn)行程序,工作表中的所有公式均被刪除,原來(lái)帶有公式的單元格中只顯示了公式的計(jì)算結(jié)果,如圖4所示。

image.png

圖4 刪除單元格中的公式

繼續(xù)查找其他問(wèn)題的答案?

回復(fù)(0)
返回頂部