Suchen in Arbeitsmappe nach Datum VBA
11.03.2004 17:29:18
Wolfgang
und wieder ein Problem; habe untenstehendes Makro "herausgefischt"; Es soll bewirken, hierüber eine kpl. Arbeitsmappe nach bestimmten "Zeichenfolgen" abzusuchen und die jeweiligen Zeilen in eine neu zu generierende Arbeitsmappe zu kopieren. Die Zeichenfolge soll eigentlich ein Datum darstellen, wird aber als geschriebenes Datum nicht akzeptiert.- Bedingt läuft der Suchlauf somit z.B. mit -11032004-; Heute stelle ich nur fest, dass mir dabei nun sowohl die Daten vom 11.03.2004, als auch vom 01.03.2004 in die neue Tabelle kopiert werden.
Hat jemand eine Vorstellung, wie ich folgendes Makro so umgestellt bekomme, dass mir die Maschine die übliche Datumseingabe "11.03.2004" oder "11.03.04" akzeptiert und danach die jeweiligen Datensätze in die neue Tabelle kopiert ? - Im übrigen konnte heute auch passieren, dass mir nach einem Suchlauf die Daten angezeigt wurden, bei einem weiteren Suchlauf nicht mehr.- Erst wenn ich Excel vollständig herunterfuhr und neu startete, bekam ich die gewünschten Datensätze nach dem entspr. Datum aufgelistet.
Bin weiterhin für Eure Hilfe empfänglich und auch sehr dankbar.
Hier der bisherige Code:
Sub MultiSuche(strSearch As Long)
Dim wks As Worksheet
Dim rngFind As Range
Dim lngRow As Long
Dim strFind As String
Workbooks.Add
For Each wks In ThisWorkbook.Worksheets
Set rngFind = wks.Cells.Find(strSearch)
If Not rngFind Is Nothing Then
strFind = rngFind.Address
Do
lngRow = lngRow + 1
wks.Range(wks.Cells(rngFind.Row, 2), _
wks.Cells(rngFind.Row, 18)).Copy _
Cells(lngRow, 1)
Set rngFind = wks.Cells.FindNext(After:=rngFind)
If rngFind.Address = strFind Then Exit Do
Loop
End If
Next wks
End Sub
Hier der Code aus der UF (Suchmaske):
Private Sub cmdSearch_Click()
If txtSearch.Text = "" Then Exit Sub
Call MultiSuche(CLng(txtSearch.Text))
Unload Me
End Sub
Es wäre schön, hier die Möglichkeit zu haben, die vereinfachte Datumseingabe nutzen zu können, die ich mir bereits auf der EXCEL-CD von Herrn Herber angesehen habe, so dass der Suchlauf nach Datum funktionieren könnte.