Excel工作表中往往存在着各种公式,当公式引用的单元格中的数据发生改变时,公式所在单元格计算结果也会随之变化。但在实际操作中,有时需要在公式获得计算结果后,其值能够固定,不再随着引用单元格中值的变化而变化。此时,将单元格中的公式删除以取消与引用单元格的关联是解决这个问题的一个办法,本例将介绍使用VBA程序快速删除单元格中的公式的方法。
1、启动Excel 2013并打开需要处理的工作表,E3:F6单元格区域的单元格中存在着公式。在“开发工具”选项卡的“控件”组中单击“插入”按钮,在打开的列表的“表单控件”栏中选择“按钮”控件,如图1所示。
图1 选择“按钮”控件
2、按住左键拖动鼠标在工作表中绘制该控件,此时将打开“指定宏”对话框,在“宏名”文本框中输入宏名后单击“新建”按钮,如图2所示。
图2 设置宏名
(3)打开Visual Basic编辑器并自动创建名为“删除公式”的过程,在代码窗口中输入过程代码,如图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)
'获取公式单元格区域引用
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所示。
图4 删除单元格中的公式
本文已经收录至:《Office 2013应用技巧实例大全》 - Office2013高级应用篇