Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1660to1664
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Addition von Zahlen gleicher Farbe

Addition von Zahlen gleicher Farbe
11.12.2018 06:58:14
Zahlen
Hallo zusammen,
Im VBA habe ich ein Makro, welches mir Zahlen gleicher Farbe in einer Zeile addiert.
Das funktioniert bist zu dem Punkt wo der Farbcode zweistellig wird.
So sieht das aus:
Function Krank(Bereich As Range)
Application.Volatile
Krank = 0
For Each zelle In Bereich
If zelle.Font.ColorIndex = 3 Then
Krank = Krank + zelle.Value
End If
Next
End Function
Ich kenne es von C++... Deklaration als Int oder double
Wahrscheinlich ist das hier ähnlich?!
Kann mir jemand sagen, wie ich die Addition hinbekomme, wenn der ColourIndex mehrstellig ist?
Vielen Dank

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Addition von Zahlen gleicher Farbe
11.12.2018 10:13:31
Zahlen
Hallo Lars,
grundsätzlich solltest Du genau wie in C++ alle Variablen deklarieren. Das spart einem viel Stress bei der Fehlersuche in etwas komplexeren Makros. Um die Deklaration zu erzwingen, schreibe ganz oben in jedes verwendete Modul Option Explicit. Excel meckert dann auch über eine nicht deklarierte Variable, wenn Du einen einfachen Schreibfehler machst.
Variablen dimensionierst Du mit dem Schlüsselwort Dim. In Deinem Fall hast Du die Variablen:

Dim krank As long 'falls es reicht auch Integer
Dim zelle As Variant 'eigentlich Range, aber Laufvariablen für For Each müssen universell sein
In Deinem Makro verwendest Du nur 3 als Farbcode, also Rot. Das sollte so auch funktionieren (habe es nicht getestet). Wenn Du sagst, es geht nicht mit zweistelligen Codes, könnte ich mir vorstellen, dass das an den teilweise doppelt definierten Farben für Color Index liegt und jeweils der andere Farbcode vorliegt. Hier mal die Aufschlüsselung der doppelten nach RGB:

Rot	Grün	Blau	Farbnummer
0	0	128	11
0	0	128	25
0	0	255	5
0	0	255	32
128	0	0	9
128	0	0	30
0	128	128	14
0	128	128	31
0	255	255	8
0	255	255	28
128	0	128	13
128	0	128	29
255	0	255	7
255	0	255	26
255	255	0	6
255	255	0	27
153	51	102	18
153	51	102	54
204	255	255	20
204	255	255	34
Ansonsten bin ich nicht sicher, was Application.Volatile in diesem Fall bringt. Soweit ich weiß, löst ein Farbwechsel auch hier keine Neuberechnung aus. Aber darüber wissen andere Leute hier wesentlich besser bescheid als ich.
Viele Grüße,
Zwenn
Anzeige
Was bringt Application.Volatile
11.12.2018 10:52:30
Daniel
Hi
mit Application.Volatile erreichst du, dass die Formel neu berechnet wird, wen der Wert irgendeiner Zelle geändert wird.
ohne Application.Volatile müsstest du gezielt eine Zelle aus dem Zellbereich ändern, der von der Formel mit der Funktion "Krank" verwendet wird, um die Formel neu berechnen zu lassen.
somit ist es leichter, die Formeln mit dieser Funktion zu aktualisieren, weil es ausreicht irgendeine Zelle in Excel zu ändern und dann alle Formeln wieder die korrekten Werte anzeigen.
das löst zwar nicht grundsätzlich das Problem von Funktionen, die Formate auswerten, aber es macht das ganze praktikabel.
Gruß Daniel
Anzeige
Application.Volatile hilft schon (s.Daniel), ...
12.12.2018 15:39:10
Luc:-?
…nur nicht sofort, Bernd,
denn das ist bei reiner Formatierungsänderung (übers Menü) ja auch nicht möglich. Anders sieht's natürlich bei Verwendung des FormatPinsels aus.
Übrigens ist Deine WebSite einer der, UDF-bezogen, nicht allzu häufigen Lichtblicke im Web
Gruß, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige