当前位置:首页经验技巧Wps经验wps排版

excel表格excel利用VBA将筛选后的公式批量转换为值

2024-07-23 18:37:16

有时需要在Excel中进行筛选后将公式结果转换为值。通常将公式结果转换为值用选择性粘贴的方法,但该方法无法用于筛选后的结果:如果复制筛选后的区域直在原区域接选择性粘贴,Excel会提示复制区域与粘贴区域形状不同而无法粘贴;如果先选定可见区域(如用快捷键“Alt+;”)后再进行复制粘贴,Excel会提示“不能对多重选定区域使用此命令”。这时可用下面的VBA代码将筛选后的公式批量转换为值。

Sub ConvAfterFilter()
On Error Resume Next
Application.ScreenUpdating = False
Dim Rng As Range
For Each Rng In ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible)
If Rng.HasFormula Then
Rng.Copy
Rng.PasteSpecial xlValues
End If
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

按Alt+F11,打开VBA编辑器,在代码窗口中粘贴上述代码并运行即可。该代码仅将筛选结果中所有的公式结果转换为值,而不会受影响到筛选结果中未包含(隐藏)的单元格区域。


电脑版

免责声明:本站信息来自网络收集及网友投稿,仅供参考,如果有错误请反馈给我们更正,对文中内容的真实性和完整性本站不提供任何保证,不承但任何责任,谢谢您的合作。
版权所有:五学知识网 Copyright © 2015-2024 All Rights Reserved .