以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]去除EXCEL报表中的公式,保留数值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185857)

--  作者:by0521
--  发布时间:2023/3/21 15:36:00
--  [求助]去除EXCEL报表中的公式,保留数值
通过EXCEL模板文件中生成的报表,有部分单元格是可以看到计算公式的,把这些单元格直接变成数值。
Sub FunctionTransValue_Sheets()
Dim sht As Worksheet
For Each sht In Worksheets \'遍历工作表
sht.UsedRange.Value = sht.UsedRange.Value
Next
End Sub
在EXCEL表内执行VBA是可以的。
想在狐表内做个按钮,生成报表后点击清除公式。
Dim App As New MSExcel.Application
Dim fl As String = ProjectPath & "Reports\\报告.xls"
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
For Each Ws In Wb.Worksheets 
    Ws.UsedRange.Value = Ws.UsedRange.Value
Next
点击后没有任何反应。不报错,单元格公式也没去掉。不知道哪里出问题了。


--  作者:有点蓝
--  发布时间:2023/3/21 16:01:00
--  
For Each Ws In Wb.Worksheets 
    Ws.UsedRange.Formula = nothing
Next

--  作者:by0521
--  发布时间:2023/3/21 16:38:00
--  
For Each Ws In Wb.Worksheets 
    Ws.UsedRange.Formula = nothing
Next
这样修改后,还是没有效果,不报错,单元格公式也没去掉。

--  作者:有点蓝
--  发布时间:2023/3/21 16:46:00
--  
只能针对有公式的单元格设置。不能直接对整个execl设置。遍历所有单元格,逐个设置