Foxtable(狐表)用户栏目专家坐堂 → [求助]去除EXCEL报表中的公式,保留数值


  共有1781人关注过本帖树形打印复制链接

主题:[求助]去除EXCEL报表中的公式,保留数值

帅哥哟,离线,有人找我吗?
by0521
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:139 积分:1559 威望:0 精华:0 注册:2019/3/28 14:49:00
[求助]去除EXCEL报表中的公式,保留数值  发帖心情 Post By:2023/3/21 15:36:00 [只看该作者]

通过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
点击后没有任何反应。不报错,单元格公式也没去掉。不知道哪里出问题了。


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/21 16:01:00 [只看该作者]

For Each Ws In Wb.Worksheets 
    Ws.UsedRange.Formula = nothing
Next

 回到顶部
帅哥哟,离线,有人找我吗?
by0521
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:139 积分:1559 威望:0 精华:0 注册:2019/3/28 14:49:00
  发帖心情 Post By:2023/3/21 16:38:00 [只看该作者]

For Each Ws In Wb.Worksheets 
    Ws.UsedRange.Formula = nothing
Next
这样修改后,还是没有效果,不报错,单元格公式也没去掉。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/21 16:46:00 [只看该作者]

只能针对有公式的单元格设置。不能直接对整个execl设置。遍历所有单元格,逐个设置

 回到顶部