wer kann helfen?
Im voraus schon Danke für die Mühe
Peter
Ich möchte per Ereignisauslösung in der Spalte H bestimmte Einträge zählen.
Da die Tabelle ca. 20.000 Einträge im Jahr beinhaltet,. Dauert der von mir
gewählte Weg zu lange.
Zur Frage:
Ausschlaggebend für die Zählung sind die letzten 100 Einträge.
Wie legt man den „rngBereich“ so fest, dass von der letzten Zeile
Rückwärts der Inhalt von 100 Zeilen überprüft wird?
z.B- letzte Zeile 8.000 bis Zeile 7.900 überprüfen
Dabei sollte jedoch berücksichtigt werden wenn die letzte Zeile das nur bis zur Zeile 9 durchsucht wird.
Public AnzahlX As Object
'Aufruf im Klassenmodul
'
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Anzahl1 Target
'End Sub
Sub Anzahl1(ByVal Target As Excel.Range)
'####- Dauert zu lange bei 20.000 Zellen !!!
Set AnzahlX = Worksheets("Tabelle1").Range("F3")
Set rngBereich = Worksheets("Tabelle1").Range("H9:H20000")
AnzahlX = DatZell(rngBereich)
End Sub
Public Function DatZell(ByVal rngBereich As Object)
Dim intCounter As Integer
Dim rngAct As Range
For Each rngAct In rngBereich
If Int(rngAct.Value) Date Then _
rngAct.Interior.ColorIndex = xlNone
If Int(rngAct.Value) = Date _
And rngAct.Interior.ColorIndex = 38 Then
intCounter = intCounter + 1
End If
Next rngAct
DatZell = intCounter
End Function