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

Datum, das am ehesten der Vorgabe entspricht?

Datum, das am ehesten der Vorgabe entspricht?
Oliver
Guten morgen an alle,
ich bräuchte mal wieder Eure Hilfe. Ich suche einen VBA Code, der es mir ermöglicht aus einer Reihe von Datumswerten das Datum heraus zu finden, das am dichtesten an einem Vorgabedatum dran ist. Allerdings nur das Datum, das kleiner ist, als das angegebene. Ich habe in Spalte B Datumswerte im Format "TT.MM.JJJJ" zu stehen. Nun gebe ich in einer TextBox ein Datum ein und es soll via VBA der Datumswert, der am dichtesten an dem Eingabedatum dran liegt, gefunden werden. Ziel ist es dann, nach diesem gefundenen Datum eine Leerzeile einzufügen.
Mal ein Beispiel. Ich habe in Spalte B folgende Datumswerte:
04.02.2006
02.02.2006
12.02.2006
03.02.2006
02.02.2006
01.02.2006
14.02.2006
06.02.2006
07.02.2006
Ich gebe in das Textfeld das Datum "13.02.2006" ein und es soll, obwohl ja die beiden Datumswerte "12.02.2006" und "14.02.2006", gleich dicht an dem "13.02.2006" dran sind, nach dem "12.02.2006" eine Leerzeile eingefügt werden. Ich habe auf Herbers Tutorial CD gestöbert, aber leider nur nachfolgenden Code gefunden.

Sub Datum_finden()
Dim Datum As Date
With Sheets("Buchungen")
Datum = CDate(Application.Large(.Columns(1), Application.CountIf(.Columns(1), ">=" & CLng(.Cells(1, 8)))))
End With
MsgBox Datum
End Sub

Leider findet dieser Code nur den Wert, des nächsten Datums zu dem eingegebenen Datum, nicht aber das Datum, was ich mir, wie in dem Beispiel erklärt, erhoffe.
Ich hoffe, ich konnte einigermaßen erklären, was ich erreichen möchte und das jemand einen Tipp für mich hat, denn ich weiß ehrlich gesagt nicht, wie ich das anfangen soll.
Danke Euch schon mal Vorab für die Hilfe,
Oliver

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

Betreff
Benutzer
Anzeige
AW: Datum, das am ehesten der Vorgabe entspricht?
12.02.2006 08:57:06
Luschi
Hallo Oliver,

mit
Datum = Application.WorksheetFunction.Small(.Columns(1), _
Application.CountIf(.Columns(1), "&lt=" & CLng(.Cells(1, 8))))
findest Du den größten Wert, der kleiner als das ZielDatum ist
und mit
Datum = Application.WorksheetFunction.Large(.Columns(1), _
Application.CountIf(.Columns(1), "&gt=" & CLng(.Cells(1, 8))))
findest Du den kleinsten Wert, der größer als das ZielDatum ist.
Gruß von Luschi
aus klein-Paris
AW: Datum, das am ehesten der Vorgabe entspricht?
12.02.2006 11:12:11
WernerB.
Hallo Oliver,
wie gefällt Dir das (die InputBox kannst Du hoffentlich selbst einbauen)?

Sub Forum()
Dim SuBe As Range, _
s As Date, _
laR As Long
s = Application.WorksheetFunction.Small(Columns(2), _
Application.CountIf(Columns(2), "<=" & CLng(Cells(1, 8))))
laR = Cells(Rows.Count, 2).End(xlUp).Row
Set SuBe = Range("B1:B" & laR).Find(What:=s, _
After:=Range("B" & laR), LookAt:=xlWhole)
If Not SuBe Is Nothing Then
Cells(SuBe.Row + 1, 1).EntireRow.Insert
Set SuBe = Nothing
End If
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: Datum, das am ehesten der Vorgabe entspricht?
12.02.2006 11:35:18
Peter
Hallo Oliver,
noch eine Lösung:
https://www.herber.de/bbs/user/30944.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Danke an alle, Lösungen funktionieren prima. o.T.
12.02.2006 15:09:29
Oliver

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige