Excel:运行表单时出现运行时错误 9



>我有一个名为BASE_GERAL_FUNCIONARIOS的工作表,其中包含五列信息,我想用我在下面使用此代码创建的表单来填充这些信息。我可以输入所有信息,并将此代码与"插入"按钮相关联:

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

我正在考虑使用"激活表"而不是工作表("(。激活,但我真的不知道如何解决这个问题。有人可以帮忙吗?

错误 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")

相关内容

最新更新