表格数据提取公式(如何利用公式提取表格中的部分内容)

有的时候,我们希望把表中的公式提取出来,进行保存!

少量,我们可以手动复制,量大,猝……

所以我们今天就分享一下如何一键提取

用什么,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的强大之处,就是可以把重复的、繁琐、有逻辑的事情,一键搞定

最后建议:收藏备查,觉得不错,分享一下!

Excel办公实战,高效办公,每天进步一点点!

关注小编,下次精彩不迷路!

喜欢小编的文章,一定要点赞,关注,转发

您的鼓励是小编最大的动力!

(0)

相关推荐