Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Funktion mit Datumsbereich erweitern

Funktion mit Datumsbereich erweitern
10.07.2023 17:27:42
Richard

Hallo,

ich habe eine Funktion definiert, die ich mit "=FarbsummeJ($J$10:$J350;40)" aufrufe.

' In Zelle=FarbsummeJ(J10:D350;40)
Function FarbsummeJ(Bereich As Range, Farbe As Integer)

Dim Zelle As Range
Application.Volatile
For Each Zelle In Bereich
If Zelle.Interior.ColorIndex = 40 And Zelle.Font.Strikethrough = False Then
FarbsummeJ = FarbsummeJ + Zelle
End If
Next
End Function

Ich möchte diese Funktion gerne mit dem aktuellen Monat erweitern, z.B. ähnlich "... and Monat(Heute()) Then ..."

Die zum Betrag in Spalte J zugehörigen Datumsangaben befinden sich in der Spalte i (i10 bis i350).

Viele Grüße
Richard

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktion mit Datumsbereich erweitern
10.07.2023 17:45:31
Daniel
Hi
nach dem du es geschafft hast, diese Formel selbstständig zu schreiben, wo genau ist jetzt dein Problem, auch noch eine zweite Bedingung hinzuzufügen?
was genau ist deine Frage?
Gruß Daniel


AW: Funktion mit Datumsbereich erweitern
10.07.2023 17:59:18
Richard
Hallo Daniel,

ich scheiter an der Zeile
...
If Zelle.Interior.ColorIndex = 40 And Zelle.Font.Strikethrough = False Then ...

Eine Erweiterung wie
If Zelle.Interior.ColorIndex = 40 And Zelle.Font.Strikethrough = False and Monat(Heute()) Then ... führt zur Fehlermeldung.

Es fehlt wohl der Bezug zur Spalte i mit den Datumsangaben. Ich bin mir aber nicht sicher, ob man eine Funktion (Farbe summieren) überhaupt mit einem Datum verbinden kann, jedenfalls habe ich bei meiner Suche nichts Ähnliches gefunden.

VG
Richard


Anzeige
AW: Funktion mit Datumsbereich erweitern
10.07.2023 17:51:21
Fennek
Hallo,

so?


Function FarbsummeJ(Bereich As Range, Farbe As Integer)

Dim Zelle As Range
Application.Volatile
For Each Zelle In Bereich
If Zelle.Interior.ColorIndex = 40 And Zelle.Font.Strikethrough = False _
    And Month(Zelle.Offset(, -1)) = Month(Date) Then
FarbsummeJ = FarbsummeJ + Zelle
End If
Next
End Function
mfg


Anzeige
AW: Funktion mit Datumsbereich erweitern
10.07.2023 18:05:38
GerdL
Moin,

deine Funktion fragt Farbe ab. Da solltest du die Farbindexnummer 40 beim Aufruf reinschreiben.


Public Function Farbsummej(Bereich As Range, Farbe As Integer)
    Dim Zelle As Range
    Application.Volatile
    For Each Zelle In Bereich
        If Zelle.Interior.ColorIndex = Farbe And Zelle.Font.Strikethrough = False Then
            If IsDate(Zelle.Offset(0, -1)) And Month(Zelle.Offset(0, -1)) = Month(Date) Then
                Farbsummej = Farbsummej + Zelle
            End If
        End If
    Next
End Function
Gruß Gerd


Anzeige
AW: Funktion mit Datumsbereich erweitern
10.07.2023 18:21:58
Richard
Danke Gerd, funktioniert bestens. :-)

VG
Richard


AW: Funktion mit Datumsbereich erweitern
10.07.2023 18:14:04
Richard
Danke Fennek, das haut hin. Rechnet wie gewünscht. :-)

VG Richard

;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige