Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1064to1068
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
Suchen in einer Datumsreihe
29.03.2009 17:10:39
edie
Hallo zusammen,
der Tabellenaufbau ist in etwa so:
Spalte A Spalte B
01.02.2009 60
14.02.2009 20
01.03.2009 15
15.03.2009 30
01.04.2009 45
13.04.2009 60
01.05.2009 75
usw.
Nun habe ich in einer TextBox ein beliebiges Datum, zum Beispiel 04.03.2009 und würde gerne die Werte 15 und 30 finden weil das Datum zwischen 01.03.2009 und 15.03.2009 liegt
um ein interpolierte Wert zwischen 15 und 30 zu errechnen. Die Werte 15 und 30 in
Zellen kopieren danach kann man leicht zwischen den beiden Werten interpolieren.
Gibt es eine Möglichkeit via VBA zu suchen oder finden bzw. vergleichen ein Datum das in einer Datumspanne liegt und die entsprechenden Werte in der Nachbar Spalte weg kopiert?
Hat jemand einen Denkansatz eine Idee? Das Recherchieren im Archiv bringt mich nicht weiter.
Vorab schon jetzt, vielen Dank und Grüße

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

Betreff
Datum
Anwender
Anzeige
AW: Suchen in einer Datumsreihe
29.03.2009 17:30:24
Tino
Hallo,
versuche es mal hiermit, nicht ausgiebig getestet.
Sub Test()
Dim varRow
Dim Wert1 As Double, Wert2 As Double


With Application.WorksheetFunction
 varRow = .Match(.Small(Columns(1), .CountIf(Columns(1), "<=" & CLng(CDate(TextBox1)))), Columns(1), 0)
 If IsNumeric(varRow) Then Wert1 = Cells(varRow, 2)
 
 varRow = .Match(.Small(Columns(1), .CountIf(Columns(1), ">=" & CLng(CDate(TextBox1)))), Columns(1), 0)
 If IsNumeric(varRow) Then Wert2 = Cells(varRow, 2)
End With

MsgBox "Wert1= " & Wert1 & Chr(13) & "Wert2= " & Wert2

End Sub


Gruß Tino

Anzeige
AW: Suchen in einer Datumsreihe
29.03.2009 17:52:55
edie
Hallo Tino,
vielen Dank für die Hilfe.
Leider ist ein Wurm drin funktioniert nicht immer
bei jedem Datum. Hier ein Beispiel Datei.
Wenn Du Zeit hast schau mal in das Beispiel:
https://www.herber.de/bbs/user/60793.xls
Vorab vielen Dank und Grüße
AW: Suchen in einer Datumsreihe
29.03.2009 18:24:06
Tino
Hallo,
die zweite Formel war nicht richtig, ich wollte dass es auch in einer nicht sortierten Liste funzt.
Jetzt müsste es aber gehen.
Private Sub CommandButton1_Click()
Dim varRow
Dim Wert1 As Double, Wert2 As Double


With Application.WorksheetFunction
 varRow = .Match(.Small(Columns(1), .CountIf(Columns(1), "<=" & CLng(CDate(TextBox1)))), Columns(1), 0)
 If IsNumeric(varRow) Then Wert1 = Cells(varRow, 2)
 
 varRow = .Match(.Large(Columns(1), .CountIf(Columns(1), ">=" & CLng(CDate(TextBox1)))), Columns(1), 0)
 If IsNumeric(varRow) Then Wert2 = Cells(varRow, 2)
End With

MsgBox "Wert1= " & Wert1 & Chr(13) & "Wert2= " & Wert2

End Sub


Gruß Tino

Anzeige
AW: Suchen in einer Datumsreihe
29.03.2009 17:38:30
Daniel
Hi
im Prinzip sollte dir die Funtkion:

worksheetfunction.Match(cdbl(cdate(Textbox1.Text)),Range("A:A"),1)


die Zeilennummer der Zelle ermitteln, deren Datum gleich oder das nächstkleiner des Datums in Textbox1 ist.
diese Zeilennummer kannst du dann weiter verwenden in dem Stil:
Zeile = worksheetfunction.Match(cdbl(cdate(Textbox1.Text)),Range("A:A"),1)
Wert1 = Cells(Zeile, "B")
Wert2 = Cells(Zeile+1, "B")
Gruß, Daniel

Es funktioniert 100%, vielen Dank.
29.03.2009 17:58:58
edie
Hallo Daniel,
Hallo Tino,
vielen herzlichen Dank Euch beiden für die Hilfe.
Grüße
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige