Anzeige
Archiv - Navigation
1868to1872
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

Aktuelles Datum in einer Spalte zählen

Aktuelles Datum in einer Spalte zählen
03.02.2022 07:37:08
Ingo
Hallo
Ich habe hier eine Excel-Datei. In der Spalte C befinden sich mehrere Datums-Angaben. Z.B. wie folgt:
02.02.2022
01.02.2022
03.02.2022
02.02.2022
02.02.2022
03.02.2022
02.02.2022
01.02.2022
02.02.2022
03.02.2022
02.02.2022
02.02.2022
01.02.2022
03.02.2022
03.02.2022
01.02.2022
Ich möchte nun ein Makro haben, was bei Auslösung die Anzahl des gerade aktuellen (also heutigen) Datums zählt und das Ergebnis in die Zelle F8 schreibt. Im obigen Beispiel wäre das Ergebnis 5, weil heute ja der 03.02.2022 ist und dieses Datum 5-mal vorkommt.
Ist das per VBA-Makro machbar? Oder könnte man das sogar mit einer Excel-Formel lösen? Über Eure Hilfe würde ich mich wirklich riesig freuen.
Gruß
Ingo

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
dafür reicht eine einfache ZÄHLENWENN ...
03.02.2022 07:43:34
Pierre
... Hallo Ingo,

=ZÄHLENWENN(C:C;HEUTE())
Gruß Pierre
PS: Du kannst den Bereich C1:Cn angeben, falls das funktionaler sein sollte.
Gruß Pierre
AW: dafür reicht eine einfache ZÄHLENWENN ...
03.02.2022 07:46:19
Ingo
Moin Pierre
Super. Das ist ja schon einfach. Vielen lieben Dank für Deine schnelle Hilfe.
Gruß
Ingo
AW: dafür reicht eine einfache ZÄHLENWENN ...
03.02.2022 08:05:36
Pierre
Hallo Ingo,
bitteschön, gerne!
Falls es doch per VBA sein soll, dann z. B. so (ausführliche Version):

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
Dim i As Long
For i = 1 To ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row
ThisWorkbook.Worksheets("Tabelle1").Range("F8").Value = _
ThisWorkbook.Worksheets("Tabelle1").Application.WorksheetFunction.CountIf(Sheets(1).Range("C1:C" & i), Date)
Next i
Application.ScreenUpdating = True
End Sub
Vorteil hier wäre, dass sich der Zählbereich variabel an deine Gegebenheiten anpasst.
Bei Formel einen variablen Bereich nutzen geht entweder, indem du deine Datenreihe in eine "intelligente" Tabelle umwandelst, dann wäre die Formel vermutlich so:

=ZÄHLENWENN(Tabelle1[Spalte1];HEUTE())
, oder ohne Tabelle so:

=ZÄHLENWENN(INDIREKT("$C$1:C"&ANZAHL2($C:$C));HEUTE())
So lieber Ingo, nun musst du dich entscheiden!
Oh je, jetzt habe ich schon "NDLZ" Flashbacks :D
Achja: Ich würde die Tabellenvariante nehmen.
Gruß Pierre
Anzeige
AW: dafür reicht eine einfache ZÄHLENWENN ...
03.02.2022 10:04:03
Rudi
Hallo Pierre,
das ist ziemlicher Unsinn,
Wozu im Change-Event die ausführliche Refenzierung? Wenn man nichts angibt, bezieht sich Code immer auf das aktive Blatt.
Die Schleife ist überflüssig. Unter Umständen schreibst du die Anzahl 1Mio mal in die Zelle
Was soll das?

ThisWorkbook.Worksheets("Tabelle1").Application.WorksheetFunction.CountIf(Sheets(1).Range("C1:C" & i), Date)
Warum mal Tabelle1 und dann Sheets(1) ?
Anstatt die Bildschirmaktualisierung solltest du die Event-Verarbeitung abschalten (oder beides)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 3 Then
On Error GoTo ERREXIT
Application.EnableEvents = False
Range("F8") = WorksheetFunction.CountIf(Range(Cells(1, 3), Cells(Rows.Count, 3).End(xlUp)), Date)
End If
ERREXIT:
Application.EnableEvents = True
End Sub
Gruß
Rudi
Anzeige
AW: dafür reicht eine einfache ZÄHLENWENN ...
03.02.2022 12:08:25
Pierre
Jo, mit Tabelle1 und Sheets(1) hab ich mich während des Schreibens vertan.
Gut zu wissen, dass dabei die Schleife unnötig ist, kenne mich mit WorksheetFunctions nicht sonderlich aus.
Eigentlich hab ich das Makro mehr für mich zum Lernen geschrieben. Und in solchen Fällen schreibe ich meistens erstmal ausführlich und kürze hinterher so gut es geht bzw. ich es hinkriege.

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige