我有一个.net程序,它使用OLEDB连接以编程方式更新Excel工作表中的值。 我的Excel工作表有一些简单的SUM公式,它们对以编程方式更新的值求和。问题是,由于在Excel工作表关闭时更新了值,因此我的公式不会计算打开工作表的时间。当我按计算工作表按钮时,公式仍未执行(因为excel不会识别新值已添加,可能?)。我可以让他们执行的唯一方法是,如果我点击持有公式的单元格(如果要修改公式),然后按Enter键(使excel重新评估单元格)。我有计算选项设置为自动,我的数据类型是正确的(一般的公式和数值的数字)。有什么办法可以让电子表格在打开时计算出公式吗?
答案 0 :(得分:3)
尝试按 ctrl + alt + f9 ,这会强制进行完整计算,而不仅仅是重新计算(例如计算按钮),它会查看已更改的单元格。
有关计算资料的更多信息,请here。
对于vba,我相信它是
Application.CalculateFull
答案 1 :(得分:0)
也许这会起作用
Private Sub Workbook_Open()
Worksheets(1).Calculate
End Sub
答案 2 :(得分:0)
以防有人遇到此问题:要在vba中进行完全重新计算,可以使用Application.CalculateFullRebuild强制进行完整计算。