wenn die Bereiche unterschiedlich groß sind ist dann dein Risiko.
bei deinem Beispiel würde bei Inhalt in Zelle A10 0 die Zelle F10 9 auf „-“ überprüft.
Function Zaehl(ByRef Zaehlbereich As Range, ByRef Wertebereich As Range)
Dim Zelle As Range, Zei As Long, colC As New Collection
'Application.Volatile
With Zaehlbereich
For Zei = 1 To .Cells.Count
If .Cells(Zei, 1).EntireRow.Hidden = False Then
If .Cells(Zei, 1).Value "" Then
If Wertebereich.Cells(Zei, 1) "-" Then
On Error Resume Next 'wg. colC.Add
colC.Add key:=.Cells(Zei, 1).Value, Item:=.Cells(Zei, 1).Value
On Error GoTo 0
End If
End If
End If
Next Zei
End With
Zaehl = colC.Count
End Function
langsam ein langes Thema, das mit dem Risiko… naja es würd mir schon reichen wenn man einstellen kann von welcher Zeile die Funktion anfängt, das bekomme ich aber sicher beim probieren raus.
langsam ein langes Thema, das mit dem Risiko… naja es würd
mir schon reichen wenn man einstellen kann von welcher Zeile
die Funktion anfängt, das bekomme ich aber sicher beim
probieren raus.
Hallo Snetto,
=zaehl(a1:a100;f10:F100)
A1 gibt an ab wo der Vergleich beginnt und A100 bestimmt wieviele Zellen geprüft werden.
Bei A1 wird geprüft ob in F10 ein „-“ steht
Bei A2 wird geprüft ob in F11 ein „-“ steht
usw. bis
Bei A100 wird geprüft ob in F109 ein „-“ steht
Das bedeutet, die Angabe F100 spielt keine Rolle.
Es gibt ja auch Excelfunktionen wo man zwei Zellbereiche angeben muß, sind die nicht gleichgroß meckert Excel.
Das kann ich auch einbauen wenn du willst.
Ändert aber nix am Grundproblem was unabhängig von Excel it, man kann schlichtweg nicht 100 Zellen mit 91 Zellen 1:1 vergleichen.