Supportnet / Forum / Tabellenkalkulation
Excel funktion bringt als ergebnis 0
Frage
Function fm(monat, fmk)
Dim zeile As Integer
Dim z As Integer
fm = 0
Worksheets("FAW2007").Activate
For zeile = 3 To 44
If Cells(zeile, 14).Value = monat Then
If Cells(zeile, 6).Value = fmk Then
fm = fm + 1
End If
If Cells(zeile, 7).Value = fmk Then
fm = fm + 1
End If
If Cells(zeile, 8).Value = fmk Then
fm = fm + 1
End If
End If
Next zeile
Worksheets("Fehlerauswertung").Activate
End Function
Antwort 1 von MixMax
wozu aktivierst du die andere Seite?
welches Worksheet aktiv ist hat nichts damit zu tun welche bei der funktion benutzt wird.
Außerdem wird beim neurechnen von den Zellen immer zwischen den Worksheets hin und her gewechselt.
Mache besser möglichst nichts in Funktionen was den Fokus oder die ansicht ändert.
welches Worksheet aktiv ist hat nichts damit zu tun welche bei der funktion benutzt wird.
Außerdem wird beim neurechnen von den Zellen immer zwischen den Worksheets hin und her gewechselt.
Mache besser möglichst nichts in Funktionen was den Fokus oder die ansicht ändert.
If Worksheets("FAW2007").Cells(zeile, 14).Value = monat Then
If Worksheets("FAW2007").Cells(zeile, 6).Value = fmk Then
fm = fm + 1
End If
If Worksheets("FAW2007").Cells(zeile, 7).Value = fmk Then
fm = fm + 1
End If
If Worksheets("FAW2007").Cells(zeile, 8).Value = fmk Then
fm = fm + 1
End If
End IfAntwort 2 von NsP
Hallo Zusammen,
Hier nun meine Lösung die auch funktioniert.
Public Function fmz(monat As Integer, fmk As Integer) As Integer
Dim zeile As Integer
For zeile = 3 To 100
If Worksheets("FAW2007").Cells(zeile, 14).Value = monat Then
If Worksheets("FAW2007").Cells(zeile, 6).Value = fmk Then
fmz = fmz + 1
End If
If Worksheets("FAW2007").Cells(zeile, 7).Value = fmk Then
fmz = fmz + 1
End If
If Worksheets("FAW2007").Cells(zeile, 8).Value = fmk Then
fmz = fmz + 1
End If
End If
Next zeile
End Function
Danke für die Mithilfe
Gruß Norbert
Hier nun meine Lösung die auch funktioniert.
Public Function fmz(monat As Integer, fmk As Integer) As Integer
Dim zeile As Integer
For zeile = 3 To 100
If Worksheets("FAW2007").Cells(zeile, 14).Value = monat Then
If Worksheets("FAW2007").Cells(zeile, 6).Value = fmk Then
fmz = fmz + 1
End If
If Worksheets("FAW2007").Cells(zeile, 7).Value = fmk Then
fmz = fmz + 1
End If
If Worksheets("FAW2007").Cells(zeile, 8).Value = fmk Then
fmz = fmz + 1
End If
End If
Next zeile
End Function
Danke für die Mithilfe
Gruß Norbert

