Dodaj nowy wiersz do tabeli Excel (VBA)

Mam Excela, który służy do rejestrowania jedzenia, które spożywasz w określonym dniu i posiłku. Mam siatkę, w której każda linia przedstawia jedzenie, które zjadłeś, ile ma cukru itp.

Następnie dodałem przycisk zapisywania, aby zapisać wszystkie dane w tabeli w innym arkuszu.

To właśnie próbowałem

    Public Sub addDataToTable(ByVal strTableName As String, ByRef arrData As Variant)
    Dim lLastRow As Long
    Dim iHeader As Integer
    Dim iCount As Integer

    With Worksheets(4).ListObjects(strTableName)
        'find the last row of the list
        lLastRow = Worksheets(4).ListObjects(strTableName).ListRows.Count

        'shift from an extra row if list has header
        If .Sort.Header = xlYes Then
            iHeader = 1
        Else
            iHeader = 0
        End If
    End With

    'Cycle the array to add each value
    For iCount = LBound(arrData) To UBound(arrData)
        **Worksheets(4).Cells(lLastRow + 1, iCount).Value = arrData(iCount)**
    Next iCount
End Sub

ale wciąż otrzymuję ten sam błąd w podświetlonej linii:

Application-defined or object-defined error

Co robię źle?

Z góry dziękuję!

questionAnswers(8)

yourAnswerToTheQuestion