分享

如何快速将整个工作簿的公式转换为数值?

 Excel实用知识 2021-12-28



每天一篇Excel技术图文
微信公众号:Excel星球

NO.675-公式转数值
作者:看见星光
 微博:EXCELers / 知识星球:Excel

HI,大家好,我是星光。

Excel社群里有朋友询问,如何将多个工作表的函数计算结果转换为数值?今天就给大家集中聊一下这类问题。根据操作范围,这可以分为三种情况。

❶单个工作表的公式转数值

❷多个工作表的公式转数值

❸多个工作簿的公式转数值

1,

区域公式转数值


先来说第一种情况,区域函数计算结果转数值。这种最为常见,操作也比较简单。复制目标区域,右键选择性粘贴为数值即可。

操作动画演示如下:

2,

多工作表公式转数值


如果是将当前工作簿所有工作表的公式转换为数值,需要使用到VBA代码。参考代码如下:







Sub FunctionTransValue_Sheets() Dim sht As Worksheet For Each sht In Worksheets '遍历工作表 sht.UsedRange.Value = sht.UsedRange.Value NextEnd Sub

第3行至第5行代码遍历工作表,第4行代码将单元格的值修改为值,也就去除了公式内容。

3,

多工作簿公式转数值


指定文件夹下多个工作簿的公式转数值,可以复制运行以下代码:

代码看不全可以左右拖动..







































Sub FunctionTransValue_Workbooks() '全部工作簿    Dim strPath As String, sht As Worksheet    Dim strWbName As String, wb As Workbook    With Application.FileDialog(msoFileDialogFolderPicker) '获取文件夹路径        If .Show Then strPath = .SelectedItems(1) & '\' Else Exit Sub    End With    On Error Resume Next    With Application        .ScreenUpdating = False '取消屏幕刷新        .DisplayAlerts = False '取消警告信息        .EnableEvents = False '取消事件        .Calculation = xlCalculationManual '取消公式重算        .AskToUpdateLinks = False '取消外链询问    End With    strWbName = Dir(strPath & '*.xls*')    Do While strWbName <> '' 'dir语句遍历excel文件        If strWbName <> ThisWorkbook.Name Then            Set wb = Workbooks.Open(strPath & strWbName) '打开工作簿            For Each sht In wb.Worksheets '遍历工作表公式转数值                sht.UsedRange.Value = sht.UsedRange.Value            Next            wb.Close True '保存关闭工作簿        End If        strWbName = Dir() '下一个excel文件    Loop    With Application '恢复系统设置        .ScreenUpdating = True        .DisplayAlerts = True        .EnableEvents = True        .Calculation = xlCalculationAutomatic        .AskToUpdateLinks = True    End With    If Err.Number Then        MsgBox Err.Description    Else        MsgBox '转换完成。'    End IfEnd Sub

代码解析如下▼

第4至第6行代码允许用户选择目标文件夹,并获取文件夹的路径。

第8至第14行代码取消一系列系统设置。

第15至第25行代码使用条件循环语句+DIR函数遍历工作簿。第19至第21行代码再遍历工作表,将公式转换为数值。

第26至第32行代码恢复一系列系统设置。

第33行至第37行代码反馈程序运行结果。

……

没了,代码三五行,工作不用忙断肠,挥挥手明天再见。

案例文件下载百度网盘..▼

https://pan.baidu.com/s/1fK1OZIL2bOMor27tG6IuQg 


♥♥温馨小提示▼

公众号每天会发布1篇函数教程+1篇编程教程+1个技巧小视频,如果你没有收到我的更新,是由于微信按算法显示公众号而不是实际更新时间——这时就需要如下图所示星标我一下啦,撒花✿

👀

Excel星球
建议常用Excel的职场人关注,海量教程随学随用,随用随查。 主创:看见星光,微软全球最有价值专家、Excel图书作者、培训师。 内容:每日四文,一篇函数教程、一篇VBA教程、一个短视频小技巧、一篇杂文。
1575篇原创内容
公众号

👇本文由公众号“Excel星球”首发。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多