Function in Sub einbinden...?!
26.01.2021 08:35:31
M.Bacher
Ich bastel mir gerade etwas zusammen, was aus einer PrivateSub und einer Function bestehen soll.
Folgendes Scenario:
Ich habe ein Sub, das mir bei Klick in eine Zelle, diese schwarz einfärbt. Nochmaliges klicken färbt die Zelle wieder weiß. Das funktioniert gut, alles bestens.
Hier der Sub, eingetragen als Code in der Tabelle1:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set changeRange = Range("E6:BE57")
intColor = 0 'Schwarz
If Not Application.Intersect(changeRange, Target) Is Nothing Then
With Target.Interior
.Color = IIf(.Color = intColor, xlNone, intColor)
End With
End If
End Sub
Nun möchte ich jeweils spaltenweise zählen, wenn sich die Farbe zu schwarz ändert.
Dazu habe ich diese Function im Netz gefunden und in ein Modul eingetragen:
Public Function CountCcolor(range_data As Range, criteria As Range) As Long
Dim datax As Range
Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
For Each datax In range_data
If datax.Interior.ColorIndex = xcolor Then
CountCcolor = CountCcolor + 1
End If
Next datax
End Function
In der Zelle E5 habe ich folgenden Eintrag: =CountCcolor(E6:E65;BG3)
E6:E65 ist der Zellbereich der überwacht wird, Zelle BG3 habe ich schwarz gefüllt, als Referenz.
Wenn ich nun in die Zelle E5 klicke und mit Enter abschließe, zählt er die schwarzen Zellen im Bereich E6:E65, auch das ist gut.
Problem ist aber, das bei klick in eine Zelle die sich dann schwärzt, nicht erneut gezählt wird....
Wie muss ich das angehen?
Herzlichen Dank!
Gruß Mario