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

Excel工作表中往往存在着各种公式,当公式引用的单元格中的数据发生改变时,公式所在单元格计算结果也会随之变化。但在实际操作中,有时需要在公式获得计算结果后,其值能够固定,不再随着引用单元格中值的变化而变化。此时,将单元格中的公式删除以取消与引用单元格的关联是解决这个问题的一个办法,本例将介绍使用VBA程序快速删除单元格中的公式的方法。

1、启动Excel 2013并打开需要处理的工作表,E3:F6单元格区域的单元格中存在着公式。在“开发工具”选项卡的“控件”组中单击“插入”按钮,在打开的列表的“表单控件”栏中选择“按钮”控件,如图1所示。

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

图1 选择“按钮”控件

2、按住左键拖动鼠标在工作表中绘制该控件,此时将打开“指定宏”对话框,在“宏名”文本框中输入宏名后单击“新建”按钮,如图2所示。

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

图2 设置宏名

(3)打开Visual Basic编辑器并自动创建名为“删除公式”的过程,在代码窗口中输入过程代码,如图3所示。具体的程序代码如下。

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

图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)

'获取公式单元格区域引用

09 For Each rng In rngA

10 rng.Value=rng.Value'将公式转换成数值

11 Next

12 Next

13 End With

14 Next

15 End Sub

注意

在这里的程序代码中,使用For Each……In结构对每个工作簿的每张工作表进行循环,使用SpecialCells(xlCellType Formulas)语句获取工作表中带有公式的单元格。同样使用For Each……In语句来遍历所有带有公式的单元格,使用rng.Value=rng.Value语句将单元格的值赋予单元格以实现将单元格中的公式转换为具体的数值。

4、切换到Excel工作表,右击按钮,选择快捷菜单中的“编辑文字”命令,然后将按钮上的文字修改为“删除公式”。取消对按钮文字的编辑后单击该按钮运行程序,工作表中的所有公式均被删除,原来带有公式的单元格中只显示了公式的计算结果,如图4所示。

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

图4 删除单元格中的公式

本文已经收录至:《Office 2013应用技巧实例大全》 – Office2013高级应用篇

RIPRO主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
91下载站 » 使用VBA程序快速删除单元格中的公式的方法