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

Forumthread: kleinsten und größten Datumswert ermitteln

kleinsten und größten Datumswert ermitteln
08.02.2005 14:18:09
Florian
Hallo zusammen,
kann mir jemand sagen, wie ich am einfachsten über VBA das Minimum sowie das Maximum einer Datums-Spalte in eine Variable schreiben kann?
Mit folgendem Befehl funktioniert es anscheinend nicht, weil es nur für Zahlenwerte geht:
set bereich = Range("A:A").select
DatumMin = Application.WorksheetFunction.Min(bereich)
DatumMax = Application.WorksheetFunction.Max(bereich)
Kann mir bitte jemand weiterhelfen?!
Gruß Florian Scheidler
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
...geht doch...
RR
...mit Max und Min!
Gruß
RR
AW: ...geht doch...
08.02.2005 15:00:54
Florian
Also meine Datumswerte sind im benutzerdefiniertem Format tt.mm.jjjj
Die Befehle
set bereich = Range("A2:A10000").select
DatumMin = Application.WorksheetFunction.Min(bereich)
DatumMax = Application.WorksheetFunction.Max(bereich)
führen dazu, dass in DatumMin und DatumMax Null steht (die Zahl 0). In der Hilfe steht auch das sobald keine Zahlenwerte in der auszuwertenden Spalte stehen, die Funktion Null zurückgibt.
Komisch ist zudem, dass sobald ich in die Excel-Liste händisch in ein Feld =MAX(A2:A10000) eintrage, Excel alles richtig macht!
Bitte helft mir weiter.
Gruß Florian Scheidler
Anzeige
AW: ...geht doch...
08.02.2005 15:12:19
Florian
Sorry aber wie funktioniert das Beispiel? Ich sehe nur zwei Datumswerte und das wars.
Ich möchte das Ganze wie gesagt mit VBA lösen! Direkt in Excel funktioniert die =Max-Funktion ja.
Anzeige
AW: ...geht doch...
RR
Dann starte mal das Makro in der Datei.
In der farbigen Zelle erscheint dann das Maximum der beiden Daten.
RR
AW: ...geht doch...
08.02.2005 15:26:50
Florian
OK, es funktioniert. Aber komischerweise geht das Ganze in meinem Makro nicht.
Naja werde nochmal ein bischen rumprobieren...
AW: ...geht doch...
RR
Probier mal:
set bereich = Range("A2:A10000")
ohne .select. Dann sollte es gehen.
RR
Anzeige
;

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
Anzeige

Infobox / Tutorial

Kleinsten und größten Datumswert in Excel ermitteln


Schritt-für-Schritt-Anleitung

Um in Excel das kleinste und größte Datum in einer Datums-Spalte zu ermitteln, kannst du die folgenden Schritte befolgen. Diese Anleitung verwendet VBA, um die Datumswerte zu verarbeiten.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsx)“ klickst und „Einfügen“ > „Modul“ auswählst.

  3. Kopiere und füge den folgenden Code in das Modul ein:

    Sub ErmitteleKleinstenUndGroesstenWert()
       Dim bereich As Range
       Dim DatumMin As Date
       Dim DatumMax As Date
    
       ' Wähle den Bereich aus, in dem die Datumswerte stehen
       Set bereich = Range("A2:A10000")
    
       ' Ermitteln von kleinstem und größtem Datum
       DatumMin = Application.WorksheetFunction.Min(bereich)
       DatumMax = Application.WorksheetFunction.Max(bereich)
    
       ' Ausgabe der Ergebnisse
       MsgBox "Kleinster Wert: " & DatumMin & vbCrLf & "Größter Wert: " & DatumMax
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus, indem du ALT + F8 drückst, das Makro „ErmitteleKleinstenUndGroesstenWert“ auswählst und auf „Ausführen“ klickst.


Häufige Fehler und Lösungen

  • Problem: Die Variablen DatumMin und DatumMax zeigen 0 an.

    • Lösung: Stelle sicher, dass der Bereich korrekt definiert ist und keine leeren Zellen oder nicht-datumsformatierte Werte enthält. Verwende Set bereich = Range("A2:A10000") ohne .Select.
  • Problem: Der Befehl Application.WorksheetFunction.Min gibt nicht die erwarteten Werte zurück.

    • Lösung: Prüfe, ob die Datumswerte im richtigen Format (tt.mm.jjjj) vorliegen und dass der Bereich keine leeren Zellen enthält.

Alternative Methoden

Falls du nicht mit VBA arbeiten möchtest, kannst du auch die folgenden Excel-Formeln verwenden, um den kleinsten und größten Wert zu ermitteln:

  • Kleinster Wert:

    =MIN(A2:A10000)
  • Größter Wert:

    =MAX(A2:A10000)

Diese Formeln können direkt in eine Zelle eingegeben werden und liefern die gewünschten Ergebnisse ohne Programmierung.


Praktische Beispiele

Angenommen, du hast folgende Datumswerte in Spalte A:

A2: 01.01.2022
A3: 15.05.2021
A4: 10.10.2023
A5: 05.02.2020

Mit dem VBA-Skript oder den Excel-Formeln kannst du das kleinste Datum (05.02.2020) und das größte Datum (10.10.2023) ermitteln.


Tipps für Profis

  • Datenformat prüfen: Achte darauf, dass alle Datumswerte im gleichen Format vorliegen, um unerwartete Ergebnisse zu vermeiden.
  • Dynamischer Bereich: Verwende Range("A:A"), wenn du einen dynamischen Bereich angeben möchtest, der automatisch alle Datumswerte in der Spalte umfasst.
  • Fehlerbehandlung: Füge eine Fehlerbehandlung in dein VBA-Skript ein, um mögliche Laufzeitfehler zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich den kleinsten Wert ermitteln, wenn die Daten in mehreren Spalten stehen? Du kannst die Werte in verschiedenen Spalten kombinieren, indem du einen Bereich wie Range("A2:C10000") verwendest oder die einzelnen Spalten in der MIN-Formel angibst.

2. Funktioniert dies auch in älteren Excel-Versionen? Ja, die beschriebenen Methoden können in den meisten Excel-Versionen verwendet werden, die VBA unterstützen, wie Excel 2010 oder neuer.

3. Was ist, wenn ich leere Zellen habe? Leere Zellen können das Ergebnis beeinflussen. Stelle sicher, dass du den Bereich nur mit Datumswerten wählst oder verwende Filter, um leere Zellen auszuschließen.

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