访问子运行一次然后错误'91':对象variables未设置

提前感谢您的帮助,

我有一个Access数据库,其中包含以下代码。 它被设置为打开一个定义的Excel文件,find最后一行,并添加1到下一行的行中的值,保存等…这是第一次,如果你再次运行它,我得到“错误'91':对象variables或块variables未设置“。 但是,如果我按下VBA窗口中的停止button(重置)或错误消息的结束button,然后再次运行它的工作。 我尝试了很多东西,而且我很茫然。

有什么build议么?

Private Sub quoteNew1_Click() Dim app As New Excel.Application app.Visible = True Dim book As Excel.Workbook Set book = app.Workbooks.Add("C:\Desktop\Test_Quotes.xlsx") nextEmptyRow 'find last row and add new value to next row colum a book.Close savechanges:=True app.Quit Set app = Nothing End Sub Sub nextEmptyRow() Dim emptyRow As Long emptyRow = ActiveSheet.UsedRange.Rows.Count MsgBox emptyRow Cells(emptyRow + 1, 1).Value = Cells(emptyRow, 1).Value + 1 End Sub 

亲切的问候,

Workbooks.Add需要一个模板作为参数。 您将需要使用下面的格式第一次添加新的工作簿。 之后,您将需要打开现有的工作簿。 下面的代码适用于我,似乎满足您每次增加一个新值的需求增加值的要求。

 Private Sub quoteNew1_Click() Dim app As New Excel.Application app.Visible = True Dim book As Excel.Workbook 'If workbook exists open it, otherwise create it If Len(Dir("C:\temparea\Test_Quotes.xlsx")) = 0 Then 'File doesn't exist, create it Set book = Workbooks.Add app.DisplayAlerts = False book.SaveAs FileName:="C:\temparea\Test_Quotes.xlsx" app.DisplayAlerts = False Else 'Open existing file Set book = Workbooks.Open("C:\temparea\Test_Quotes.xlsx") End If nextEmptyRow 'find last row and add new value to next row colum a book.Close savechanges:=True app.Quit Set app = Nothing End Sub Sub nextEmptyRow() Dim emptyRow As Long emptyRow = ActiveSheet.UsedRange.Rows.Count If Cells(emptyRow, 1).Value = 0 Then ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value + 1 Else Cells(emptyRow + 1, 1).Value = Cells(emptyRow, 1).Value + 1 End If End Sub