Ich habe im Internet einen Code für eine VBA Formel gefunden, die mir die Werte von eingefärbten Zellen zusammenzählt (eig. komisch, dass es sowas nicht direkt von Excel gibt... oder gibt es das?). Dieser Code befindet sich in einem Modul und funktioniert auch. Ich kenne mich mit Modulen nicht aus - mein restlicher code ist immer in den Tabellenblättern selbst - aber ich habe den Eindruck, dass die Formel ständig aktualisiert wird und daher meine Tabelle erheblich langsamer funktioniert als vorher.
Kann man irgendwie erreichen, dass die Formel nur aktualisiert wird, wenn ich das Tabellenblatt, in dem sie sich befindet, aktiviere? (Vll. wichtig: Die eigentlichen Werte, die addiert werden befinden sich in einem anderen Tabellenblatt)
Ich habe einen Code, der leere Spalten in einem Tabellenblatt ausblendet, sobald dieses aktiviert wird. Das klappt auch. Aber ich schaffe es nicht, den hier unten angehängten Code unter dieselbe Bedingung zu setzen. Geht das? Oder hat jemand eine andere Idee, wie ich die Werte eingefärbter Zellen zählen kann.
Option Explicit
Function HintergrundFarbeSummieren(Farbe As Range, Summenbereich As Range)
Application.Volatile True
Dim zelle As Range
Dim ZFarbe As Long
ZFarbe = Farbe.Cells(1, 1).Interior.ColorIndex
For Each zelle In Summenbereich
If zelle.Interior.ColorIndex = ZFarbe Then
HintergrundFarbeSummieren = HintergrundFarbeSummieren + zelle.Value
End If
Next
End Function
Vielen Dank und GrüßeSimon