Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过编程添加值后,如何使excel公式计算_Excel_Vba - Fatal编程技术网

通过编程添加值后,如何使excel公式计算

通过编程添加值后,如何使excel公式计算,excel,vba,Excel,Vba,我有一个.net程序,它使用OLEDB连接以编程方式更新excel工作表中的值。 我的excel工作表有一些简单的求和公式,可以对通过编程更新的值求和。问题在于,由于这些值是在excel工作表关闭时更新的,因此当工作表打开时,我的公式不会计算。当我按下“计算工作表”按钮时,公式仍然没有执行(因为excel可能无法识别已添加的新值?)。我可以让它们执行的唯一方法是,单击保存公式的单元格(好像要修改公式),然后按enter键(使excel重新评估单元格)。我将“计算”选项设置为“自动”,并且我的数据

我有一个.net程序,它使用OLEDB连接以编程方式更新excel工作表中的值。 我的excel工作表有一些简单的求和公式,可以对通过编程更新的值求和。问题在于,由于这些值是在excel工作表关闭时更新的,因此当工作表打开时,我的公式不会计算。当我按下“计算工作表”按钮时,公式仍然没有执行(因为excel可能无法识别已添加的新值?)。我可以让它们执行的唯一方法是,单击保存公式的单元格(好像要修改公式),然后按enter键(使excel重新评估单元格)。我将“计算”选项设置为“自动”,并且我的数据类型正确(公式为“常规”,数值为“数字”)。当我打开电子表格时,有什么方法可以让它计算公式吗?

也许这样可以

Private Sub Workbook_Open()
    Worksheets(1).Calculate
End Sub

尝试按ctrl+alt+f9,这将强制执行完整的计算,而不仅仅是重新计算(就像“计算”按钮那样),以查看已更改的单元格

可以找到有关计算材料的更多信息

对于vba,我相信是这样

Application.CalculateFull 

以防有人遇到此问题:要在vba中执行完全重新计算,可以使用Application.CalculateFullRebuild强制执行完全计算

在.Net中正在使用哪个库?是VB.Net还是C#?公式是否显示为text-that-looks-a-formula?这是流氓行为,;.Net值更新有问题。我只是通过带有OLeDb连接的sql语句更新值。我用的是C#。这些公式不是从.net程序中更新的,它们只是定期添加到excel中。我还应该补充一点,程序中的值在excel中显示为正确的值和数据类型。这不起作用,我假设这与单击“立即计算”或“全部计算”相同。这是怎么回事: