# VBA Excel - Zirkelbezug in einer Funktion / Daten aus verschiedenen Blättern lesen



## dRaCo (22. September 2004)

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 


```
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
```


```
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
```


----------



## dRaCo (22. September 2004)

Eigene Doofheit. Excel erwartet die Parameter mit ; getrennt.  Also das hier einfach ignorieren, löschen oder sonstwie nicht beachten.


----------

