Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
844to848
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
844to848
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA: Datumswerte mit Countif

VBA: Datumswerte mit Countif
13.02.2007 13:43:34
Düppi
Liebe Excel-Profis,
ich habe das Blatt "Redaktionen". Darin stehen ab Zelle A4 Datumswerte im Format "dd.mm." Ich möchte nun errechnen lassen, wiel viele Januar-Tage die Liste führt, wieviele Februrar-Tage etc. Wir arbeiten nicht an allen Tage, daher ist die Zahl mit mit den realen Monats-Tagen (Januar = 31, Februar = 28) identisch. So siehts im Sheet aus:
Spalte A
01.01.
02.01.
...
30.01.
31.01.
01.02.
...
31.12.
Hier mein Code:

Sub Zaehler()
Dim lz As Long
lz = Sheets("Redaktionen").Range("A65536").End(xlUp).Row
Set Suchbereich = Worksheets("Redaktionen").Range("A4:A" & lz)
Dim anz_janu, anz_febr, anz_marz As Integer
Dim Januar1, Februar1, Maerz1, April1 As Date
Januar1 = "01.01."
Februar1 = "01.02."
Maerz1 = "01.03."
April1 = "01.04."
anz_janu = Application.WorksheetFunction.CountIf(Suchbereich, "<=" & Maerz1)
End Sub

Hier mein Problem: Im (verkürzten) Beispiel soll die Variable anz_janu die Tage kleiner/gleich 01.03. lierfern - also die Summe alle Januar- und alle Februar-Tage. Tut sie aber nicht.
Wer kann meinen Code korrigieren, fragt Düppi?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Datumswerte mit Countif
13.02.2007 15:01:00
Peter
Hallo Düppi,
zwei Dinge, die mich stören:
1. Dim anz_janu, anz_febr, anz_marz As Integer
Dim Januar1, Februar1, Maerz1, April1 As Date
da ist nur jeweils die letzte Variable das was du möchtest, die davor sind Variant.
2. Wenn ich mich nicht sehr irre, kann CountIf nicht mit kleiner/gleich arbeiten, sondern nur mit einem festen Suchwert.
Das musst du wohl mit einer Schleife abarbeiten, um zu einem Ergebnis zu kommen.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: VBA: Datumswerte mit Countif
13.02.2007 15:20:00
Peter
Hallo Düppi,
meine Bedenken zu Punkt 2 ziehe ich zurück.
So könnte es gehen (hier nur für April - nicht als Date, sondern als Double)

Sub Zaehler()
Dim lz        As Long
Dim Suchbereich  As Range
Dim anz_janu  As Integer
Dim anz_febr  As Integer
Dim anz_marz  As Integer
Dim Januar1   As Date
Dim Februar1  As Date
Dim Maerz1    As Date
Dim April1    As Double
lz = Sheets("Redaktionen").Range("A65536").End(xlUp).Row
Set Suchbereich = Worksheets("Redaktionen").Range("A4:A" & lz)
Januar1 = "01.01.2007"
Februar1 = "01.02.2007"
Maerz1 = "01.03.2007"
April1 = CDbl("01.04.2007")
anz_janu = Application.WorksheetFunction.CountIf(Suchbereich, "<=" & April1)
MsgBox anz_janu
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: VBA: Korrektur
13.02.2007 15:27:00
Peter
Hallo Düppi,
so geht es:


Option Explicit
Public Sub Zaehler()
Dim lLetzte      As Long
Dim Suchbereich  As Range
Dim anz_janu     As Integer
Dim anz_febr     As Integer
Dim anz_marz     As Integer
Dim Januar1      As Double
Dim Februar1     As Double
Dim Maerz1       As Double
Dim April1       As Double
   lLetzte = Sheets("Redaktionen").Range("A65536").End(xlUp).Row
   Set Suchbereich = Worksheets("Redaktionen").Range("A4:A" & lLetzte)
   Januar1 = CDbl(CDate("01.01.2007"))
   Februar1 = CDbl(CDate("01.02.2007"))
   Maerz1 = CDbl(CDate("01.03.2007"))
   April1 = CDbl(CDate("01.04.2007"))
   anz_janu = Application.WorksheetFunction.CountIf(Suchbereich, "<=" & Februar1)
   MsgBox anz_janu
End Sub 


Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: VBA: Korrektur
13.02.2007 15:52:38
Düppi
Hallo Peter,
vielen Dank - beide Lösungen klappen. Während Du Lösung 3 entworfen hast, habe ich Deinen Vorschlag mit der For-next-Schleife umgesetzt. Läuft auch. Aber eleganter ist natürlich Lösung 3 - vielen Dank dafür und Gruß aus Oelde sagt Dir Düppi.

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige