excel:运行时运行时错误9

我有一个名为BASE_GERAL_FUNCIONARIOS的工作表,里面有五列信息,我想用下面的代码创build一个表单。 我可以input所有的信息,并将这些代码与“插入”button相关联:

Private Sub inserirInfo_Click() Dim LastRow As Range Dim ExpenseTable As ListObject 'Add row to bottom of BASE_GERAL_FUNCIONARIOS table Worksheets("BASE_GERAL_FUNCIONARIOS").Activate.ListObjects("BASE_GERAL_FUNCIONARIOS").ListRows.Add 'Enter data from form into our new row Set ExpenseTable = Worksheets("BASE_GERAL_FUNCIONARIOS").Activate.ListObjects("BASE_GERAL_FUNCIONARIOS") Set LastRow = ExpenseTable.ListRows(ExpenseTable.ListRows.Count).Range With LastRow .Cells(1, 1) = cmbMatricula.Value .Cells(1, 2) = cmbNome.Value .Cells(1, 3) = cmbFuncao.Value .Cells(1, 4) = txtAlocacao.Value .Cells(1, 5) = txtDataIni.Value .Cells(1, 6) = txtDataFim.Value End With End Sub 

我的表格放在与填写信息的表格不同的表格中。 无论如何,当我运行代码时,我不断收到运行时错误9 ,突出显示了这部分代码:

 Worksheets("BASE_GERAL_FUNCIONARIOS").Activate.ListObjects("BASE_GERAL_FUNCIONARIOS").ListRows.Add 

我正在考虑使用“ActivateSheet”而不是工作表(“”)。激活,但我真的不知道如何解决这个问题。 任何人都可以帮忙

错误9意味着下标超出范围,即您所指的对象不存在于工作簿/工作表中。

确保工作簿中有一张名为“BASE_GERAL_FUNCIONARIOS”的工作表,并在该工作表上有一个名为“BASE_GERAL_FUNCIONARIOS”的excel表。

除此之外,正确的语法将是这样的… Worksheets("BASE_GERAL_FUNCIONARIOS").ListObjects("BASE_GERAL_FUNCIONARIOS").ListRows.Add

第二行也是这样的

 Set ExpenseTable = Worksheets("BASE_GERAL_FUNCIONARIOS").ListObjects("BASE_GERAL_FUNCIONARIOS")