Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
608to612
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
608to612
608to612
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Summe + Datum

Summe + Datum
11.05.2005 14:40:24
artuk
Hallo alle zusammen,
habe folgendes Problem, habe dieses makro, welches mir die Summe in einer Spalte berechnet. Nun möchte ich, dass nur das summiert wird, was einem bestimmten zeitraum entspricht.
Also z.b:
A--- B--- C ------------------ D (summe nur 2004)
1--- 3--- 01.04.2004
1--- 4--- 01.04.2003
1--- 1--- 01.05.2004 ----4
2--- 5--- 01.06.2004
2--- 6--- 01.07.2003
2--- 7--- 01.04.2004---- 12
Ich hoffe ic habe das verständlich dargestellt.
Hier mein Makro

Sub Rechnentest()
For n = 3 To ActiveSheet.Range("a65536").End(xlUp).Row + 1
If Cells(n, 1) = Cells(n - 1, 1) And Cells(n, 8) >= ("01.01.2004") And Cells(n, 8) <= ("31.12.2004") Then ' habe hier versucht zu selektieren,klappt aber nicht
Summe = Summe + Cells(n - 1, 6)
Else
Summe = Summe + Cells(n - 1, 6)
Cells(n - 1, 12) = Summe
Summe = 0
End If
Next n
End Sub

Danke für die Hilfe
mfg
artuk

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summe + Datum
11.05.2005 15:04:17
bavariabob
Hallo Artuk,
angenommen die Datumsfelder liegen in G9 bis G14 und die zu addierenden Zahlen in E9 bis F14, dann kannst Du es mit folgender formel lösen.
=SUMMENPRODUKT((JAHR(G9:G14)=2004)*(E9:F14))
Gruss aus München
AW: Summe + Datum
11.05.2005 15:04:33
bavariabob
Hallo Artuk,
angenommen die Datumsfelder liegen in G9 bis G14 und die zu addierenden Zahlen in E9 bis F14, dann kannst Du es mit folgender formel lösen.
=SUMMENPRODUKT((JAHR(G9:G14)=2004)*(E9:F14))
Gruss aus München
AW: Summe + Datum
11.05.2005 15:26:56
artuk
Servus bavariabob,
deine Idee ist nicht schlecht, aber ich brauche unbedingt ein Makro, da ich etwa 40000 Datensätze habe und es etwas automatisieren möchte.
Hast du eine Idee
Danke
artuk
aus Mainz
Anzeige
AW: Summe + Datum
11.05.2005 15:33:03
bavariabob
Hi Artuk,
hilft Dir das weiter?:

Sub findit()
[a2].FormulaLocal = "=SUMMENPRODUKT((JAHR($G$9:$G$14)=2004)*($F$9:$F$14))"
End Sub

AW: Summe + Datum
11.05.2005 15:37:53
artuk
Hi bavariabob,
das ist auch nicht ganz das was ich suche, das Makro muss flxibler sein. Wenn du mein Code anschaust, siehst du, dass bevor summiert wird noch die erste Spalte überprüft wird. Würd gern mit diesem Code auch weiterarbeiten.
Was habe ich bei dort falsch gemacht?
mfg
artuk
AW: Summe + Datum
11.05.2005 15:59:11
UweD
Hallo
das Makro passt nicht zu deinem Beispiel:
In ABCD stehen die Daten laut Beispiel, aber im Makro nutzt du die Spalten 1 (A), 6 (F), 8 (H) und 12 (L)
Wo stehen die Daten denn jetzt?
Gruß Uwe
Anzeige
AW: Summe + Datum
11.05.2005 16:01:13
bavariabob
Artuk,
Spalte A prüfen,
Wenn in Spalte H 2004 steht,
dann die Zahlen in Spalte F addieren.
Das macht Dein Makro und funktioniert problemlos für mich.
Habe ich Deine Frage nicht richtig verstanden?
AW: Summe + Datum
11.05.2005 16:09:01
artuk
@Uwe,
ich weiss dass die Spalten im Makro anders sind als im Beispiel, wollte die Sache etwas vereinfachen. Das spielt aber auch soweit keine Rolle.
@bavariabob
Bei mir addiert er alle Zahlen anstatt nur die mit 2004. Weiß nämlich nicht woran es liegt. Du sagst, mein Code wäre soweit i.O.?
mfg
artuk
AW: Summe + Datum
11.05.2005 16:12:47
artuk
Das kommt bei mir raus, wenn ich es laufen lasse
https://www.herber.de/bbs/user/22450.xls
mfg
artuk
Anzeige
AW: Summe + Datum
11.05.2005 17:03:48
UweD
Hallo
Ich vermute den Fehler im Datum vergleich. Der wird bei dir Als Text verglichen und nicht als Datum.
so gehts:

Sub Rechnentest()
Dim Dat1 As Date, Dat2 As Date
Dat1 = "01.01.2004"
Dat2 = "31.12.2004"
For n = 3 To ActiveSheet.Range("a65536").End(xlUp).Row + 1
If Cells(n, 1) = Cells(n - 1, 1) Then
If Cells(n, 8) >= Dat1 And Cells(n, 8) <= Dat2 Then ' habe hier versucht zu selektieren,klappt aber nicht
Summe = Summe + Cells(n, 6)
End If
Else
Cells(n - 1, 12) = Summe
Summe = 0
If Cells(n, 8) >= Dat1 And Cells(n, 8) <= Dat2 Then ' habe hier versucht zu selektieren,klappt aber nicht
Summe = Summe + Cells(n, 6)
End If
End If
Next n
End Sub

Gruß UweD
Anzeige
vielen dank.
11.05.2005 17:28:25
artuk
Hallo uwe,
super sache,klappt wunderbar.
genau daran hats gelegen.
mfg
artuk
Summe + Datum
11.05.2005 21:25:12
bavariabob
Hi Artuk,
musste nach Hause und Damit war Uwe Schneller :-)
Hier meine Lösung

Sub Rechnentest()
For a = 1 To ActiveSheet.Range("a65536").End(xlUp).Row + 1
If Cells(a + 1, 1) = Cells(a, 1) And Year(Cells(a, 3)) = 2004 Then
summe = summe + Cells(a, 2)
Else
If Year(Cells(a, 3)) = 2004 Then
summe = summe + Cells(a, 2)
End If
If summe > 0 And Cells(a, 1) <> Cells(a + 1, 1) Then
Cells(a, 4) = summe
summe = 0
End If
End If
Next
End Sub

Schönen Abend nach Mainz!

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige