Microsoft Excel

Herbers Excel/VBA-Archiv

Farbige Zellen, Werte addieren

Betrifft: Farbige Zellen, Werte addieren von: Werner
Geschrieben am: 13.08.2020 12:56:52

Hallo, fleißige Helfer,


seit geraumer Zeit benötige ich mal wieder eure Hilfe.

In den Zellen der Zeile 1 sollen Werte aus den grünen Zellen je Spalte addiert und durch die Anzahl der gefundenen Werte Größe 0 dividiert werden.

Das Addieren der Werte versuchte ich mit einem Makro zu realisieren – leider ohne Erfolg :-(

Würde mir bitte jemand aufzeigen, was ich (mal)wieder falsch gemacht habe?

https://www.herber.de/bbs/user/139606.xlsm

Vielen Dank für eure Hilfe
Werner

Betrifft: AW: Was ist "Farbe(1)"
von: Fennek
Geschrieben am: 13.08.2020 13:20:49

Hallo,

der Code für Funktionen gehört in ein Modul, nicht in den Code-Teil eines Sheets.
oledump.py c:\Users\[xxxx]\Desktop\139606.xlsm -i
A: xl/vbaProject.bin
 A1:       507             'PROJECT'
 A2:       104             'PROJECTwm'
 A3: m    1202    1016+186 'VBA/DieseArbeitsmappe'
 A4: M    1976    1631+345 'VBA/Modul1'
 A5: M    2312    1829+483 'VBA/Tabelle1'
 A6:      3177             'VBA/_VBA_PROJECT'
 A7:      1981             'VBA/__SRP_0'
 A8:       346             'VBA/__SRP_1'
 A9:       501             'VBA/__SRP_2'
A10:       218             'VBA/__SRP_3'
A11:       208             'VBA/__SRP_4'
A12:       252             'VBA/__SRP_5'
A13:       616             'VBA/__SRP_6'
A14:       106             'VBA/__SRP_7'
A15:       586             'VBA/dir'

C:\Temp\Python\OLEDump>oledump.py c:\Users\[xxxx]\Desktop\139606.xlsm -s 4 -v
Attribute VB_Name = "Modul1"
'Summiert die Zellen mit farbigem Hintergrund
'Funktionsaufruf = Summefarbig(Zelle mit der gesuchten Farbe;Bereich)
Function Summefarbig(Farbe As Range, Bereich As Range)
Dim i As Range
Dim intColor As Integer
   Application.Volatile
   intColor = Farbe(1).Interior.ColorIndex
   For Each i In Bereich.Cells
   If i.Interior.ColorIndex = intColor Then
           Summefarbig = Summefarbig + i
       End If
   Next
End Function


C:\Temp\Python\OLEDump>oledump.py c:\Users\User\Desktop\139606.xlsm -s 5 -v
Attribute VB_Name = "Tabelle1"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
'Summiert die Zellen mit farbigem Hintergrund
'Funktionsaufruf = Summefarbig(Zelle mit der gesuchten Farbe;Bereich)
Function Summefarbig(Farbe As Range, Bereich As Range)
Dim i As Range
Dim intColor As Integer
   Application.Volatile
   intColor = Farbe(1).Interior.ColorIndex
   For Each i In Bereich.Cells
   If i.Interior.ColorIndex = intColor Then
           Summefarbig = Summefarbig + i
       End If
   Next
End Function
mfg

Betrifft: AW: Farbige Zellen, Werte addieren
von: UweD
Geschrieben am: 13.08.2020 14:16:56

Hallo

Wie Fennek schon geschrieben hat, nur in ein Modul ablegen.

Das Problem ist, das Formelergebnis ab C9.
Da wird "" zurückgegeben, das kann nicht addiert werden.

So gehts.
Function Summefarbig(Farbe As Range, Bereich As Range)

    Dim i As Range
    Dim intColor As Integer
    Application.Volatile
    intColor = Farbe(1).Interior.ColorIndex
    For Each i In Bereich
        If IsNumeric(i) And i.Interior.ColorIndex = intColor Then
            Summefarbig = Summefarbig + i
        End If
    Next
End Function

LG UweD

Betrifft: AW: Farbige Zellen, Werte addieren
von: Werner
Geschrieben am: 13.08.2020 15:29:54

Hallo UweD, Hallo Fennek,

danke für eure Hilfe.

die Funktion habe ich in ein Modul abgelegt.
Farbe (1) habe ich in den gewünschten Farbindex (35) umbenannt.
Trotzdem funktioniert es nicht wie gewünscht.

Wenn das, bedingt durch die Formeln in den eingefärbten Zellen, nicht funktioniert; gibt es eine andere Möglichkeit zum Addieren der Werte in den farbigen Zellen ohne Hilfsspalten einzurichten?

Gruß
Werner

Betrifft: AW: Farbige Zellen, Werte addieren
von: UweD
Geschrieben am: 13.08.2020 15:31:49

Hallo

also bei klappt es

LG UweD

Betrifft: AW: Farbige Zellen, Werte addieren
von: Werner
Geschrieben am: 13.08.2020 15:36:06

Hallo UweD,

wer weiß was ich da falsch mache :-(.
Würdest Du mir bitte Deine Version zur Verfügung stellen, damit ich diese mir meiner vergleichen kann?

Gruß
Werner

Betrifft: AW: Farbige Zellen, Werte addieren
von: UweD
Geschrieben am: 13.08.2020 15:56:07

Hi

Der Aufruf der Formel im Tabellenblatt war auch noch falsch.

NICHT
=Summefarbig(B2;B5:B65;35)


Sondern nur 2 Parameter
=Summefarbig(B2;B5:B65)

https://www.herber.de/bbs/user/139615.xlsm


LG UweD

Betrifft: AW: Farbige Zellen, Werte addieren
von: Werner Golla
Geschrieben am: 14.08.2020 14:34:55

Hallo UweD,

herzlichen Dank, und entschuldige meine verspätete Antwort.
Habe meine Fehler erkannt, und wieder etwas dazugelernt :-).

Gruß
Werner

Betrifft: Prima. Danke für die Rückmeldung. owT
von: UweD
Geschrieben am: 14.08.2020 15:03:54