Ich habe ein Arbeitsblatt namens BASE_GERAL_FUNCIONARIOS mit fünf Spalten mit Informationen, die ich mit einem Formular ausfüllen möchte, die ich mit diesem Code unten erstellt habe. Ich kann alle Informationen geben und ich diesen Code mit der Schaltfläche „Einfügen“ zugeordnet:Excel: Laufzeitfehler 9 beim Ausführen von Formular
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
Meine Form in einem anderen Blatt platziert ist als das Blatt I mit Informationen füllen werde. Wie auch immer, wenn ich den Code ausführen ich Laufzeitfehler 9 halte, die diesen Teil des Codes hervorhebt.
Worksheets("BASE_GERAL_FUNCIONARIOS").Activate.ListObjects("BASE_GERAL_FUNCIONARIOS").ListRows.Add
ich die Verwendung von „ActivateSheet“ dachte statt Worksheets („“) aktiviert, aber Ich weiß wirklich nicht, wie ich dieses Problem lösen soll. Jeder könnte helfen?
'.Activate' nichts zurückgibt , Sie können Anrufe nicht wie Sie ketten. Und Sie müssen ".Activate" sowieso nicht entfernen, entfernen Sie es einfach und führen Sie 'Worksheets (" name "). ListObjects (" name "). ListRows.Add" statt. –
Stellen Sie außerdem sicher, dass Ihre Zeichenfolgenliterale keine Tippfehler enthalten und dass der Benutzer diese Tabellenblätter nicht umbenennt. Andernfalls erhalten Sie genau den Fehler, den Sie erhalten: * Der Index liegt außerhalb des Bereichs *. –
Eigentlich hat die Tabelle nicht den gleichen Namen wie das Blatt. Ich dachte in einer Weise os Referenzieren, ohne einen Namen darauf zu setzen, aber es scheint, dass ich nicht wie du gesagt – paulinhax