单元格公式快速转换为数值

Excel的公式可谓是其中的精华,但是发布文件时,有时需要将工作表单元格中的公式转换为静态结果,在Excel中进行操作使用选择性粘贴为数值将可以实现。

如果有很多工作表需要进行这种转换,逐个去处理和操作,也是很耗时的操作,使用VBA可以快速的进行转换。

实例工作表中的数据和公式如下图所示。
在这里插入图片描述

方法1:选择性粘贴为数值

Sub Formula2Val_1()
    With Range("a1").CurrentRegion
        .Copy
        .PasteSpecial xlPasteValues
    End With
End Sub

【代码解析】
第2行代码使用CurrentRegion读取当前数据区域。
第3行代码使用Copy方法拷贝数据区域。
第4行代码使用PasteSpecial方法粘贴为数据,其中xlPasteValues为VBA常量。

方法2:使用Value属性转换

Sub Formula2Val_2()
    With Range("a1").CurrentRegion
        .Value = .Value
    End With
End Sub

【代码解析】
第2行代码使用CurrentRegion读取当前数据区域。
第3行代码使用.Value = .Value进行转换。粗略看相同的属性进行赋值,结果是否维持不变呢,从单元格显示的结果看,没有任何变化,但是查看公式可以发现,所有公式都转换为相应的值。

方法2:使用Formula属性转换

Sub Formula2Val_3()
    With Range("a1").CurrentRegion
        .Formula = .Value
    End With
End Sub

【代码解析】
第2行代码使用CurrentRegion读取当前数据区域。
第3行代码使用.Formula = .Value进行转换。


上述几种方法都很方便,大家可以根据自己的习惯选择使用。

发布了107 篇原创文章 · 获赞 49 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/taller_2000/article/details/104099889
今日推荐