Zoeken datum doet het niet door verkeerde instelling?

Status
Niet open voor verdere reacties.

bcva

Gebruiker
Lid geworden
6 apr 2018
Berichten
11
Goedemiddag,

Ik heb een code toegevoegd aan mijn VBA om een datum te zoeken in een werkblad.
Deze zelfde code wil ik uiteindelijk ook gaan gebruiken om naar de datum van vandaag te gaan bij
het openen van het werkblad.

De code klopt (want hij doet het elders met namen wel) echter heb ik de instellingen van de rij met data
ingesteld op een Date format specifiek (nl 1-jan als weergave ipv 01-01-2018 oid). Ik vermoed dus dat de zoekfunctie
in dit geval niet werkt door die specifieke instelling, maar dat durf ik niet met zekerheid te zeggen.

Wie o wie kan mij helpen?

De code is als volgt:

Code:
Private Sub VindCommandButton_Click()
Application.ScreenUpdating = False

Call OptimizeCode_Begin

    Dim Datum As Date
    Dim Rng As Range
    Datum = InputBox("Welke datum zoekt u?")
    If Trim(Datum) <> "" Then
        With Sheet9.Range("D4:ND4")
            Set Rng = .Find(What:=Datum, _
                            After:=.Cells(.Cells.Count), _
                            LookIn:=xlValues, _
                            LookAt:=xlPart, _
                            SearchOrder:=xlByRows, _
                            SearchDirection:=xlNext, _
                            MatchCase:=False)
            If Not Rng Is Nothing Then
            Rng.Select
            Else
            MsgBox "Datum niet gevonden"
            End If
        End With
    End If
Call OptimizeCode_End
Application.ScreenUpdating = True
End Sub
 
je neemt de variabele Datum in als string terwijl deze is gedeclareerd als Date. Is de datum die je in het werkblad zoekt ook een string? Of is het een echte datum?
 
Laatst bewerkt:
Code:
Sub M_snb()
    Sheet9.Range("D4:ND4").Find(cdate(inputbox("datum"))).interior.colorindex=5
end sub
 
je neemt de variabele Datum in als string terwijl deze is gedeclareerd als Date. Is de datum die je in het werkblad zoekt ook een string? Of is het een echte datum?

Een echte datum (die specifiek is weergegeven).

Code:
Sub M_snb()
    Sheet9.Range("D4:ND4").Find(cdate(inputbox("datum"))).interior.colorindex=5
end sub

dank! Dit ga ik even proberen :)
 
Nog niet helemaal gelukt

Helaas is het bijna (maar nog niet helemaal) gelukt.

Sub M_snb()
Sheet9.Range("D4:ND4").Find(cdate(inputbox("datum"))).interior.colorindex=5
end sub

Deze code heb ik aangepast naar
Code:
Sheet9.Range("D4:ND4").Find(CDate(InputBox("Datum"))).Activate

Dit doet hij wel, maar hij toont de cell nog niet. Dwz: hij selecteert hem wel, maar ik moet zelf nog scrollen.
Ik ben een tijd aan het proberen geweest met Dim en GoTo etc, maar dan doet hij het helemaal niet meer.
Wie kan mij hier mee helpen?

Tevens zou ik in dezelfde Range ("D4:ND4") graag bij het openen van het werkblad, ook naar de datum van vandaag gaan.
Dat is mij ook nog niet gelukt.
 
Met bestudering van:
- de aangereikte code
- de hulpfunktie F1 van de VBEditor bij het lemma application goto

had je er zelf uit kunnen komen:

Code:
Sub M_snb()
    application.goto Sheet9.Range("D4:ND4").Find(cdate(inputbox("datum"))),true
end sub
 
Sub M_snb()
application.goto Sheet9.Range("D4:ND4").Find(cdate(inputbox("datum"))),true
end sub

Dank voor dit stuk code, maar deze had ik (inderdaad met de code+helpfunctie) al geprobeerd en ook deze geeft een foutmelding

In ieder geval dank voor de hulp.
Ik ga nog even verder puzzelen en zoeken.
 
Als een datum niet gevonden wordt kan een foutmelding niet uitblijven.
 
Als een datum niet gevonden wordt kan een foutmelding niet uitblijven.

Dat begrijp ik. De foutmelding wordt echter ook gegeven bij data die toch echt in het bestand staan.
Ik heb inmiddels overigens zelf de code aangepast en het opgelost. In ieder geval bedankt voor de hulp.
Het heeft mij zeker een kickstart gegeven.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan