mboost-dp1

Excel macro scroll


Gå til bund
Gravatar #1 - Jonas
7. jul. 2010 08:01
Hej...

Jeg har et excel dokument med 2 ark.
I ark1 har jeg en knap som sender mig videre til ark2 ->
I kolonne a har jeg datofelter fra 01-01 til 31-12 - altså 365 celler.

Jeg mangler et macroscript som automatisk scroller ned til dags dato så snart jeg kommer ind i ark2. Gerne således at dags dato er den øverst synlige række.¨

Jeg har fundet et par scripts på nettet, men de kan kun hjælpe mig via dialogbokse hvor jeg skal skrive hvilken linie jeg vil dirigeres til.

Jeg håber i forstår, og at en af jer gide at hjælpe.

Jeg er ikke for skarp til det VB.


Mvh
Jonas
Gravatar #2 - Cloud02
7. jul. 2010 08:52
Der findes sikkert en simplere løsning.
Men vi tager dagen idag og ser hvad måned og dag det er i måneden.
Når vi ved, hvilken måned vi er i i dag, ved vi hvor mange dage der har passeret og vi kan regne ud hvornår i dags celle er. (uden hensyn til skudår)
Sæt lige arket de skal bruges på så det ikke blot er activesheet, samt tjek at rækkerne passer.



Sub ScrollToToday()
Dim todayMonth, todayDate, daysPassed As Integer

todayMonth = Month(Now())
todayDate = Day(Now())
Select Case todayMonth
Case 1
daysPassed = 0
Range("B" & daysPassed + todayDate).Select
Case 2
daysPassed = 31
Range("B" & daysPassed + todayDate).Select
Case 3
daysPassed = 59
Range("B" & daysPassed + todayDate).Select
Case 4
daysPassed = 90
Range("B" & daysPassed + todayDate).Select
Case 5
daysPassed = 120
Range("B" & daysPassed + todayDate).Select
Case 6
daysPassed = 151
Range("B" & daysPassed + todayDate).Select
Case 7
daysPassed = 181
Range("B" & daysPassed + todayDate).Select
Case 8
daysPassed = 212
Range("B" & daysPassed + todayDate).Select
Case 9
daysPassed = 243
Range("B" & daysPassed + todayDate).Select
Case 10
daysPassed = 273
Range("B" & daysPassed + todayDate).Select
Case 11
daysPassed = 304
Range("B" & daysPassed + todayDate).Select
Case 12
daysPassed = 334
Range("B" & daysPassed + todayDate).Select
End Select
End Sub


Hvis du skal scrolle lidt yderligere, så kan du bruge:
ActiveWindow.SmallScroll Down:=<integer værdi her>

det kræver dog at arket er aktivt.
Gravatar #3 - Jonas
7. jul. 2010 09:26
Wow det var kvikt...
Det ser ud til at virke hvis jeg kører kommandoen via playknappen i VB vinduet, men hvor skal jeg placere koden således at den køres så snart jeg loader ark2?

Gravatar #4 - Jonas
7. jul. 2010 10:02
Sådan, nu virker det... lavede Sub om til PrivateSub, og så afspiller den hver gang ark2 loades... perfekt tak for hjælpen...
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login