Excel作为办公必备软件,很多人每天都要跟它打交道,个人水平的高低决定着每天的工作时间长短。有可能别人五分钟能搞定的报表,你要花一个小时找百度,即使不为了升职加薪也很有必要学好excel。
![](https://static.ruanbaike.com/images/2024/07/27/67ea1969576c56c5dfac294111b641a0.jpg)
Excel拥有强大的数据处理功能,只要输入函数公式,多海量的数据计算都能够快速搞定。函数公式虽然极大的减轻了我们的工作量,但也带来了一些不便之处。我最近就遇到了这样一件事:单位制作数据报表,每个工作表都有几百个需要计算的数值,并且环环嵌套。为了减少工作量,自诩为计算机小能手的我自然将所有可以用函数的地方都添加了公式,其中不乏随机数公式。报表做好后发给了对办公软件不太熟悉的同事,不知是软件不兼容还是操作失误,整张报表的随机数函数多次被触发,已做好的报表被改的面目全非。
![](https://static.ruanbaike.com/images/2024/07/27/c062e3a4d51b9b24c1a44467f49353c0.jpg)
为了彻底杜绝这种事故的再次发生,报表做好后只好将公式去除,只保留计算好的数值。传统的方法不外乎复制之后选择粘贴为数值,但是碰到大量不规则形状的表格,单单选择单元格一项就耗时不菲。
要想既省时又省力的解决这个问题,就需要用到VBA功能。Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic 脚本。该语言于1993年由微软公司开发的的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),实际上VBA是寄生于VB应用程序的版本。微软在1994年发行的Excel5.0版本中,即具备了VBA的宏功能。
解决这个问题不需要你精通VBA编程,只需要打开excel开发工具选项中的vba编辑器(若是找不到可用alt+f11打开vba编辑器)。
![](https://static.ruanbaike.com/images/2024/07/27/671ff27936128c63028fa1e2138e50de.jpg)
点击"插入"菜单栏下的"模块",打开模块编辑界面,如下:
![](https://static.ruanbaike.com/images/2024/07/27/3a9728c269700fda151a3a9319627c1c.png)
将下面的代码复制进去:
Sub excel去掉公式()
Dim sh As Worksheet
For Each sh In Sheets
sh.UsedRange = sh.UsedRange.Value
Next
End Sub
之后按F5运行,即可一键将当前工作表的公式去除,只留计算好的数值。