Ga naar inhoud

Automatisch naar huidige datum springen bij openen Excel


Tom Vanstraelen

Aanbevolen berichten

@Tom,

1. Ter voorkoming van fouten kun je de datumcellen in kolom B in plaats van als  "Speciaal" beter opmaken als "Datum", type "14-mrt-01".

2. De oplossing van JeanPaul is prima; eventueel  kun je ook volstaan met deze code behorend bij "ThisWorkbook":

Private Sub Workbook_Open()
Sheets("test").Activate
Range("B2:B316").Find(Date).Select
End Sub
aangepast door alpha
Link naar reactie
Delen op andere sites

Aangezien datums als getallen worden opgeslagen door XL is het aangewezen om dit ook toe te passen bij het zoeken naar een datum.

Vermijd ook het gebruik van Activate, Select, Selection ... in je code. In 99% van de gevallen werkt dit vertragend en is volstrekt overbodig.

 

Private Sub Workbook_Open()
    Dim x
    With Blad2
        x = Application.Match(CLng(Date), .Columns(2), 0)
        If Not IsError(x) Then Application.Goto .Cells(x, 1), True
    End With
End Sub

 

Link naar reactie
Delen op andere sites

bakerman,

Met het aantal rijen dat de vragensteller voor zijn probleem gebruikt, speelt snelheid geen grote rol.
Maar omdat je daarover begint en het ook over vertraging hebt, is het uitermate vreemd:
- dat je vier functies gebruikt, terwijl je met 1 kunt volstaan.
- dat je in miljoenen rijen laat zoeken terwijl de vragensteller er nog geen 320 gebruikt.
- dat je als variabele een variant gebruikt, die 8 x zoveel plaats inneemt als een integer.
En verder: Met application.goto selecteer je evenzeer een blad als dat dat met activate gebeurt.
De pot....
 

Link naar reactie
Delen op andere sites

1. Select op zich activeert geen werkblad, het selecteert enkel een object. Goto doet dit wel.

2. Jij hebt daarom ook 3 functies nodig om je resultaat te halen (Activate - Find - Select)

3. Goto heeft een Scroll-funtie, Select niet.

4. Als jouw code de datum niet vind ga je in Debug terwijl mijn code de fout opvangt.

5. De variabele is inderdaad een variant omdat deze ook een fout moet kunnen accepteren. Als je deze zou instellen als een Integer zou je in geval van een fout in Debug gaan.

De Variant versie kan je beide aannemen en met de IsError-functie kan je de waarde bepalen en de juiste actie ondernemen.

 

Link naar reactie
Delen op andere sites

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.