Avatar billede busschou Praktikant
21. januar 2009 - 08:51 Der er 9 kommentarer

kan man i office og Excel definere egne genvejstaster via VB?

Jeg er irriteret over at genvejen til at skifte imellem ark (faner i bunden) er CTRL-pageup eller CTRL-pagedown

Jeg kan lave alverdens knapper og ting og sager men kan man også definere en anden genvejstast til den funktionalitet?
Avatar billede jkrons Professor
21. januar 2009 - 17:04 #1
Det kandu sagtens - men det bliver stadig noget med Ctrl.
Avatar billede busschou Praktikant
21. januar 2009 - 17:26 #2
Det gør ikke noget
Min irritation skyldes at jeg er meget vandt til at benytte ALT-TAB for at skifte faner
Det kan man gøre med een hånd og tilmed venstre mens højre er på musen
CTRL-PageUp kræver enten to hænder eller højre hånd

Jeg er klar over jeg i princippet bare kunne lave en makro med fx CTRL-Z som så kører funktionen som var den CTRL-PageUp
Men jeg kunne godt tænke mig at funktionen kom over på fx CTRL-TAB som minder om min vandte ALT-TAB
Ved makro defineringen kan jeg bare ikke vælge andre knapper end bogstaver

Så "how to do" ?
Avatar billede jkrons Professor
21. januar 2009 - 18:22 #3
Du skal ud i at kode noget KeyPress, og jeg kan bestemt ikke anbefale det. Ideen er at fange den/de taster, du trykker på, og så afspille en makro i forhold til det.
Avatar billede stefanfuglsang Juniormester
23. januar 2009 - 10:38 #4
Hvad med:
Sub PgUp()
    SendKeys ("^{PGUP}")
End Sub

Sub PgDn()
    SendKeys ("^{PGDN}")
End Sub

De to makroer skal så tilknyttes f.eks. Ctrl+q og ctrl+w (man kan kun bruge ctrl+bogstaver her)
Avatar billede busschou Praktikant
23. januar 2009 - 11:40 #5
hm jeg har snildt selv optaget makroen ActiveSheet.Next.Select og givet den CTRL+bogstav

Men kan det virkelig passe at man ikke kan lave en makro der kaldes ved andet end CTRL+bogstav?

Jeg har før lavet ekstra knapper og toolbars og forestiller mig det må være muligt til sådanne at definere en genvejstast der afviger fra CTRL+bogstav?

Men måske jeg skal spørge i en generel microsoft eller VB kategori?
Avatar billede stefanfuglsang Juniormester
26. januar 2009 - 09:42 #6
som jkrons skriver er det KeyPress eller nok snarere Keydown event du skal kode,
se "KeyPress Event" i hjælpen
Avatar billede busschou Praktikant
26. januar 2009 - 11:15 #7
Så blev jeg så klog og I har delvist ret og uret
Jeg bruger følgende hvorved det er muligt at benytte CTRL-TAB
-----
Sub workbook_activate()
    Application.OnKey "^+{TAB}", "FaneLeft"
    Application.OnKey "^{TAB}", "FaneRight"
End Sub
Sub FaneLeft()
    SendKeys ("^{PGUP}")
End Sub
Sub FaneRight()
    SendKeys ("^{PGDN}")
End Sub
-----

Nu mangler jeg bare at lure hvordan jeg gør det generelt for alle excel ark jeg åbner
Jeg har forsøgt at gemme det i min privat.xls som følger mig overalt, men det virker ikke
Avatar billede busschou Praktikant
26. januar 2009 - 11:20 #8
og det lykkedes så med
Private Sub workbook_open()
Application.OnKey "^+{TAB}", "FaneLeft"
Application.OnKey "^{TAB}", "FaneRight"
End Sub
Avatar billede busschou Praktikant
26. januar 2009 - 11:32 #9
og så blev den lige opdateret så den nu bare bladrer igennem på CTRL-TAB ligesom ALT-TAB gør det i programmer... smukt :o)

Sub SkiftFane()
    If ActiveSheet.Index = Worksheets.Count Then
        Worksheets(1).Activate
    Else
        SendKeys ("^{PGDN}")
    End If
End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester