使用VB.NET写公式来优化单元格(这个代码有什么错误?)

我想从一个excel工作簿的工作表中总结一个范围,并将其写入另一个工作簿。 我想出了一个下面的代码,但它不工作。

1)它打开一个文件打开窗口,要求我select工作簿更新

2)select一个工作簿后,写入“0”作为一个值。

码:

Dim xl1 As New Excel.Application Dim xl2 As New Excel.Application Dim wb1 As Excel.Workbook Dim wb2 As Excel.Workbook Dim st1 As Excel.Worksheet Dim st2 As Excel.Worksheet wb1 = xl1.Workbooks.Open("F:\excelsumtest\file1.xlsx") wb2 = xl2.Workbooks.Open("F:\excelsumtest\file2.xlsx") st1 = wb1.Worksheets(1) st2 = wb2.Worksheets(1) st2.Cells(1, 1).formula = "=Sum(st1!A1:S1)" 

干杯

尝试改变这一行:

 wb2 = xl2.Workbooks.Open("F:\excelsumtest\file2.xlsx") 'to this: wb2 = xl1.Workbooks.Open("F:\excelsumtest\file2.xlsx") 

我将两个工作簿绑定到一个Excel应用程序的一个实例。 这没有经过testing,但我认为这样,Excel就会明白,它是您试图插入的xl1工作簿的工作表。

如果不是,则可能需要在公式中完整定义要引用的工作簿。

希望这可以帮助。

这对我工作:

 Dim xlsApp As New Microsoft.Office.Interop.Excel.Application xlsApp.DisplayAlerts = False