Function Rückgabewert - Ungültiger Prozeduraufruf
01.07.2016 15:35:43
Christian
Habe schon viel im Forum lernen können aber jetzt ist es Zeit für meine erste Frage, da ich keine Antwort finde.
Also ich habe eine Funktion, die eine ArrayList erstellt, die wiederum ArrayLists enthält. Den Code seht ihr hier:
Function CreateDataToInsert()
Set sourceSh = sourceBk.Worksheets(2)
Set targetSh = targetBk.Worksheets("Organization")
Dim c As Range
Dim i As Long
Dim data As New ArrayList
' Dim data
' Set data = CreateObject("System.Collections.ArrayList")
On Error Resume Next
For Each c In sourceSh.PivotTables("Organization").DataBodyRange
Dim dataRow As New ArrayList
' Dim dataRow
' Set dataRow = CreateObject("System.Collections.ArrayList")
For i = 1 To c.PivotCell.RowItems.count
Debug.Print c.PivotCell.RowItems(i).Name
dataRow.Add c.PivotCell.RowItems(i).Name
Next i
data.Add dataRow
Next c
CreateDataToInsert = data
End Function
Dann habe ich eine Sub, in der ich die Funktion aufrufe und eben die ArrayList, die zurückgegeben wird, weiter verarbeiten will:
Sub FillOrganization()
Set sourceSh = sourceBk.Worksheets(2)
Set targetSh = targetBk.Worksheets("Organization")
Dim dataToInsert As New ArrayList
Dim insertRow As Long
Dim Item As New ArrayList
Dim i As Long
dataToInsert = CreateDataToInsert()
For Each Item In dataToInsert
For i = 0 To 0 Step 1
Debug.Print Item(i)
insertRow = targetSh.Cells(Rows.count, 1).End(xlUp).Row + 1
targetSh.Range("A" & insertRow & ":E" & insertRow).Value = Item(i)
Next
Next
End Sub
Bei dem Aufruf
dataToInsert = CreateDataToInsert()
erhalte ich aber die folgende Fehlermeldung :Ungültiger Prozeduraufruf oder ungültiges Argument
Liegt es daran, dass eine ArrayList mit ArrayLists zurückkommt aber nur eine normale ArrayList (dataToInsert) initialisiert wird?
Wie kann ich dieses Problem lösen?
Falls die Frage doof ist, sorry aber ich bin erst seit zwei Tagen mit VBA unterwegs und muss mich erst noch so an die Eigenarten gewöhnen.
Danke und schönen Gruß :)
Christian