VBA Daten zählen wenn Datum im Datumsintervall

Bild

Betrifft: VBA Daten zählen wenn Datum im Datumsintervall
von: Crizz
Geschrieben am: 17.06.2015 22:58:18

Hallo Forumsmitglieder,
ich habe Probleme beim Auswerten von Daten die sich in einem Datumsintervall befinden.
In einer Tabelle stehen in Spalte C Datumswerte im Format JJJJ-DD-MM und in einer zweiten Tabelle stehen in Zeile 2 die Datumsintervalle im Format Januar 15, Februar 15 ... (dynamisch erweiterbar).
Kann mir jemand sagen wie man die Anzahl der Werte, aus Tabelle 1, in Tabelle 2, anhand der Datumsintervalle auswerten kann?
Danke und viele Grüße Chris

Bild

Betrifft: AW: VBA Daten zählen wenn Datum im Datumsintervall
von: UweD
Geschrieben am: 18.06.2015 09:49:54
Hallo
Wenn es tatsächlich Datuminhalte sind, die nur anders formatiert sind, dann so..
(in Tabelle2 stehen 01.01.2015 und 01.02.2015)

Tabelle1

 A
1Datum
22014-18-06
32014-19-06
42014-20-06
52014-21-06
62014-22-06
72014-23-06
82014-24-06
92014-25-06
102014-26-06
112014-27-06
122014-28-06
132014-29-06


Tabelle2
 ABCD
1VonBis Anzahl
2Januar 15Februar 15 32

verwendete Formeln
Zelle Formel Bereich N/A
D2=ZÄHLENWENNS(Tabelle1!A:A;">="&A2;Tabelle1!A:A;"<="&B2)  
http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://Hajo-Excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 19.03 einschl. 64 Bit



Bild

Betrifft: AW: VBA Daten zählen wenn Datum im Datumsintervall
von: Senna
Geschrieben am: 18.06.2015 10:11:19
Hallo Crizz,
da ich leider nicht genug Informationen habe, wo genau die Daten stehen (also in welcher Mappe und welchem Blatt) müsstest du das folgende Makro noch selber etwas bearbeiten, damit es bei dir funktioniert. Hoffe aber, dass es dir trotzdem hilft:

Sub Zaehlen()
    Dim lngI As Long
    Dim lngJ As Long
    Dim lngCounter As Long
    For lngI = 1 To Workbooks("Mappe1").Sheets(1).Cells(Rows.Count, 3).End(xlUp).Row
        For lngJ = 1 To Workbooks("Mappe2").Sheets(1).Cells(Rows.Count, 2).End(xlUp).Row
            If Workbooks("Mappe1").Sheets(1).Cells(lngI, 3).Value = Workbooks("Mappe2").Sheets( _
1).Cells(lngJ, 2).Value Then
                lngCounter = lngCounter + 1
            End If
        Next lngJ
    Next lngI
    
    Workbooks("Mappe1").Sheets(1).Cells(1, 1).Value = lngCounter
End Sub
Zu ersetzen ist:
- "Mappe1" durch den Mappennamen + Endung der Mappe, in welcher deine erste Tabelle steht.
- "Mappe2" durch den Mappennamen + Endung der Mappe, in welcher deine zweite Tabelle steht.
- Sheets(1) steht für das erste Blatt in der Mappe. Evtl. musst du das auch ändern.
- For lngI = 1 To Workbooks... bedeutet, dass er direkt in der ersten Zeile anfängt zu vergleichen. falls du ne Überschrift hast oder die Tabelle generell weiter unten anfängt muss du den Wert erhöhen.
- Workbooks("Mappe1").Sheets(1).Cells(1, 1).Value = lngCounter bedeutet, dass er dir die Anzahl an Daten aus Tabelle 1, welche auch in Tabelle 2 stehen in die Zelle A1 schreibt. Wenn er dir die Anzahl in eine andere Zelle schreiben soll, musst du auch dieses ändern.

Bild

Betrifft: AW: VBA Daten zählen wenn Datum im Datumsintervall
von: Crizz
Geschrieben am: 18.06.2015 11:47:03
Danke euch beiden für eure Hilfe,
@UweD die Lösung würde ich gerne mittels Makro lösen aber Danke dir trotzdem
@Senna ich habe eine Datei angehängt damit man sehen kann was ich genau machen will
https://www.herber.de/bbs/user/98287.xlsm

 Bild

Beiträge aus den Excel-Beispielen zum Thema "VBA Daten zählen wenn Datum im Datumsintervall"