实战VBA代码-一键提取EXCEL中的所有公式!
有的时候,我们希望把表中的公式提取出来,进行保存!
少量,我们可以手动复制,量大,猝……
所以我们今天就分享一下如何一键提取
用什么,VBA上吧!
还是老规矩,我们先看一下动画效果
动画效果
制作教程
这里我们使用VBA代码处理,才能达到一键的效果
具体代码如下,已注释
源码:
Option Explicit
'日期:2020-5-15
'作者:EXCEL办公实战-小易
'功能:提取EXCEl中的所有公式
'---------------------------------------------------
Sub getAllFormula()
Dim allFormulaRng As Range, fmRng As Range
Dim sht As Worksheet
Dim arFormula(1 To 100000, 1 To 4)
Dim n As Long
For Each sht In ThisWorkbook.Worksheets
On Error Resume Next
'已使用区域中定位公式
Set allFormulaRng = sht.UsedRange.SpecialCells(xlCellTypeFormulas)
If Err = 0 Then
If Not allFormulaRng Is Nothing Then
For Each fmRng In allFormulaRng
n = n + 1
With sht
arFormula(n, 1) = n - 1 '序号
arFormula(n, 2) = sht.Name '表名
arFormula(n, 3) = fmRng.Address(0, 0) '地址
arFormula(n, 4) = fmRng.Formula '公式
End With
Next
End If
Else
'无公式,打印表名和错误说明
Debug.Print sht.Name & "_" & Err.Description
Err.Clear
End If
Next
'写入结果
With Sheets("公式")
.Cells.Clear
With .Columns("A:F")
.Font.Size = 11
.Font.Name = "Microsoft YaHei UI"
.HorizontalAlignment = xlLeft
.NumberFormatLocal = "@"
End With
.[A1].Resize(1, 4) = Array("序号", "表名", "地址", "公式")
.[A2].Resize(n, 4) = arFormula
.Columns("A:F").AutoFit
End With
End Sub
如果使用
具体参考:番外篇-EXCEL如何使用宏(VBA)
这里也稍微讲一下,可能部分同学没细去看过
使用步骤:
1、复制代码:Ctrl+C 直接复制,没什么讲的
2、进入VBE,粘贴代码
3、修改表名为公式-用于存放结果
4、插入控件,绑定代码
5、点击按钮,执行
动画演示:
小结
当我们入门EXCEL后,可以慢慢去学习VBA,VBA的强大之处,就是可以把重复的、繁琐、有逻辑的事情,一键搞定
最后建议:收藏备查,觉得不错,分享一下!
赞 (0)