Datum zoeken met Evealute()

Status
Niet open voor verdere reacties.

BjorntobeWild

Gebruiker
Lid geworden
29 aug 2011
Berichten
120
Goedendag,

Ik gebruik onderstaande functie om snel de locatie van bepaalde variabelen op te zoeken.
Voor tekst en getallen gaat dit goed. Echter bij het zoeken op datum vindt de functie niks. Ik heb al van alles geprobeerd, maar ik kom er niet achter waarom hij de datum niet kan vinden.
Wie kan mij op weg helpen naar een oplossing?
Code:
Function EvalFind(What, Where As Range) As Range
  Dim i&, q$
  If VarType(What) = vbString Then q = """"
  On Error Resume Next
  i = Evaluate("MATCH(" & q & What & q & "," & Where.Address(External:=True) & ",0)")
  If i > 0 Then Set EvalFind = Where(i)
End Function
 
gebruik range.find(what).address
een raar gebruik van evaluate.
 
Hoi,

Een datum in excel wordt eigenlijk nooit opgeslagen als datum, maar als een getal met cijfers na de komma. Excel begint te tellen vanaf 1 januari 1900. De cijfers voor de komma geven het aantal dagen weer vanaf 1/1/1900, de cijfers na de komma geven het gedeelte van 24 uur weer.

Als je naar een datum wil laten zoeken, dmv je functie, kun je volgende 2 mogelijkheden proberen:
- ofwel geef je je datum door als "string" (bvb. "06/10/2015" of "06/10/15" naargelang je datumopmaak)
- ofwel geef je de waarde van je datum door (bvb. dateserial(datum) )

Groetjes
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan