Datum suchen per VBA
#1
Lightbulb 
Guten Morgen allerseits!

Ich bastle mir gerade eine Datei, bei der ich per klick die einzelnen Monate angezeigt haben will. Zurzeit stehen alle 365 Tage untereinander in Spalte A.

Nun möchte ich einen Spin Butten oder auch 12 Buttons haben bei der die Restlichen Zeilen ausgeblendet werden.

Mein Ansatz ist erstmal sowas:


Code:
Private Sub CommandButton1_Click()

Dim zelleS As Range
Dim bereichS As Range
Dim datum As Date

datum = TextBox1

Set bereichS = Sheets("Arbeitszeit").Range("A:A")
Set zelleS = bereichS.Find(what:=(Format(datum, "ddd dd/mm/yyyy")), LookAt:=xlWhole, LookIn:=xlValues)

If zelleS Is Nothing Then
   MsgBox "Datum nicht gefunden"
Else
   MsgBox "Datum befindt sich in Zelle" & zelleS.Address
End If

End Sub

Allerdings finde ich damit die Zelle nicht. Das Zellen-Format ist: Do 25.01.2018. Also das sollte passen.



Habt ihr Ideen wie ich die Zeile finde wo das gesuchte Datum steht?

Oder eine Lösung parat, dass man gleich die Monate Ein- / Ausblenden kann?

Hinweise sind gerne gesehen dann kann ich mich weiter dran versuchen. :)
Top
#2
Hallo,

teste mal so:
Set zelleS = bereichS.Find(what:=CDate(datum), LookAt:=xlWhole, LookIn:=xlValues)
Einfacher und ohne VBA ginge das Ein-/Ausblenden mit dem normalen Filter unter Daten >> Filtern.

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Terades
Top
#3
Gute Idee....

und dann mach ich mir einfach daraus ein Makro und zack kann ich die Buttons erstellen.

Vielen Dank!
Top
#4
Hallo Terades,

die Find-Methode ist beim Suchen von Datumwerten immer etwas zickig. Wie ich meine, hilft es den Parameter LookIn auf xlFormulas zu setzen.

Wenn nur in einer Spalte gesucht werden soll, bevorzuge ich die Funktion Match.


Code:
Option Explicit

Sub Beispiel()
   Dim lngDatum As Long
   Dim lngRow As Long
   lngDatum = CDate("17.01.2009")
   lngRow = Application.Match(lngDatum, Columns(1), 0)
End Sub
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
[-] Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:
  • Terades
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste