dRaCo
Grünschnabel
Hi!
Ich arbeite momentan daran, eine Funktion zu schreiben die aus mehreren Blättern Daten sammelt und zusammenfasst. Irgendwie kriege ich die Funktion jedoch nicht hin, eine Routine, die (meiner Meinung nach) genau das Gleiche macht, funktioniert jedoch. Wenn ich die Funktion aufrufe, gibt Excel in der Zelle "#WERT!" aus und meint, dass es einen Zirkelbezug gebe. Die Routine gibt das richtige Ergebnis in der angegebenen Zelle aus. Ich weiß nicht mehr weiter
Ich arbeite momentan daran, eine Funktion zu schreiben die aus mehreren Blättern Daten sammelt und zusammenfasst. Irgendwie kriege ich die Funktion jedoch nicht hin, eine Routine, die (meiner Meinung nach) genau das Gleiche macht, funktioniert jedoch. Wenn ich die Funktion aufrufe, gibt Excel in der Zelle "#WERT!" aus und meint, dass es einen Zirkelbezug gebe. Die Routine gibt das richtige Ergebnis in der angegebenen Zelle aus. Ich weiß nicht mehr weiter
Code:
Public Function CollectData(iY As Integer, iX As Integer)
' Deklarieren
Dim i, iResult As Integer
' Variablen setzen
i = 4
' Daten sammeln
If ThisWorkbook.Sheets.Count > 3 Then
While i <= (ThisWorkbook.Sheets.Count)
If Worksheets(i).Cells(iY, iX).Value <> "" Then
iResult = iResult + Worksheets(i).Cells(iY, iX).Value
End If
i = i + 1
Wend
End If
' Rückgabewert
CollectData = iResult
End Function
Code:
Public Sub TestCollect()
' Deklarieren
Dim iY, iX, i, iResult As Integer
' Variablen setzen
i = 4
iY = 14
iX = 3
' Daten sammeln
If ThisWorkbook.Sheets.Count > 3 Then
While i <= (ThisWorkbook.Sheets.Count)
If Worksheets(i).Cells(iY, iX).Value <> "" Then
iResult = iResult + Worksheets(i).Cells(iY, iX).Value
End If
i = i + 1
Wend
End If
' Rückgabewert
Worksheets(1).Range("C14").Value = iResult
End Sub