Avatar billede bambus Nybegynder
30. april 2002 - 10:07 Der er 23 kommentarer og
1 løsning

Jeg kan ikke få mine genvejstaster i VBA til at fungere.

Det skal fungere så simpelt at en given makro starter når f.eks. Ctrl+C aktiveres
Avatar billede b_hansen Novice
30. april 2002 - 10:10 #1
du skal bare tilknytte din makro til genvejen. Det kan bl.a. gøres, når man optager en ny makro
Avatar billede b_hansen Novice
30. april 2002 - 10:11 #2
jeg ville dog være varsom med at bruge ctrl-c
Avatar billede bambus Nybegynder
30. april 2002 - 10:17 #3
Jeg har allerede en UserForm, og en Makro... det er koden til at starke makroen jeg ikke kan skrive..

Eks.

Private Sub UserForm1_KeyUp(KeyCode As Integer, ByVal Shift As Integer)l
    Select Case KeyCode
        Case Is = vbKeyDelete
        Makro1
osv osv
Avatar billede b_hansen Novice
30. april 2002 - 10:17 #4
hvis du allerede har lavet din makro, skal du gå ind i makroer med ALT-F8. Her vælger du indstillinger. Så skulle du kunne vælge din genvejstast. Bemærk dog, at du skal bruge en CTRL+ "et eller andet"
Avatar billede b_hansen Novice
30. april 2002 - 10:29 #5
Jeg har gravet følgende linie frem ved at lege lidt:

Application.MacroOptions Macro:="Makro1", Description:= _
        "", ShortcutKey:="z"

Håber, du kan bruge den
Avatar billede bambus Nybegynder
30. april 2002 - 10:31 #6
Det er nok mere navnet på genvejstasten jeg søger, min makro er Private så jeg kan vel ikke  vælge indstillinger i Excel
Avatar billede b_hansen Novice
30. april 2002 - 10:35 #7
kan du så ikke lave en public makro, du kan tilknytte genvejstasten til? Denne makro kan så kalde din nuværende makro
Avatar billede bambus Nybegynder
30. april 2002 - 10:38 #8
Nej.. Makroen skal kun aktiveres når userformen er aktiv :-)
Avatar billede b_hansen Novice
30. april 2002 - 10:48 #9
du må kunne lave en test på, om din userform er aktiv. Hvis userformen er aktiv, så aktiveres din makro, ellers returneres den bare uden en hændelse
Avatar billede bambus Nybegynder
30. april 2002 - 10:53 #10
Okay spørgsmølet er nu :
findes der et navn som vbKeyCtrlC, eller ??
Avatar billede b_hansen Novice
30. april 2002 - 11:36 #11
Der er en, der hedder vbKeyControl, så mon ikke du skal bruge vbKeyControlC ? Men nu er jeg på dybt vand *S*
Avatar billede vesterstrand Nybegynder
30. april 2002 - 16:43 #12
Det kan godt være, jeg er helt ved siden af

Men hvis du indspiller en makro, og knytter en genvejstast til den, kan du så ikke bare slette den VBA, der hører til, og putte din egen makros VBA ind i stedet ?

Hvis det er helt åndsvagt, vil jeg gerne have et svar alligevel :-)
Avatar billede bak Forsker
30. april 2002 - 16:55 #13
Bambus
Kan du ikke bruge application.onkey(Key, procedure) til  din select case?
I hjælpen er der angivet hvorledes du sammensætter med Ctrl, Alt osv.
Avatar billede bambus Nybegynder
01. maj 2002 - 08:07 #14
jo jeg kan godt bruge onKey, og kan godt finde navn og værdier for de forskellige taster. jeg kan bare ikke finde de sammensætter navne som Ctrl+D, F, H osv.
Avatar billede b_hansen Novice
01. maj 2002 - 08:14 #15
prøv at gå ind i hjælpen i VBA-editoren. Her skal du søge på Onkey, og du vil få vist, hvordan du laver de forskellige kombinationer (i Excel 2000). Jeg kunne godt paste det herind, men det fylder lidt meget *S*
Avatar billede b_hansen Novice
01. maj 2002 - 08:16 #16
nå, jeg fandt nu alligevel et lille eksempel:

Application.OnKey "^c", "InsertProc"

Denne her benytter CTRL+c
Avatar billede bambus Nybegynder
01. maj 2002 - 08:52 #17
okay jeg har Excel95, og her er ike meget hjælp
Avatar billede b_hansen Novice
01. maj 2002 - 08:58 #18
ok... jeg sakser lige fra hjælpen:

Runs a specified procedure when a particular key or key combination is pressed.

Syntax

expression.OnKey(Key, Procedure)

expression  Required. An expression that returns an Application object.

Key  Required String. A string indicating the key to be pressed.

Procedure  Optional Variant. A string indicating the name of the procedure to be run. If Procedure is "" (empty text), nothing happens when Key is pressed. This form of OnKey changes the normal result of keystrokes in Microsoft Excel. If Procedure is omitted, Key reverts to its normal result in Microsoft Excel, and any special key assignments made with previous OnKey methods are cleared.

Remarks

The Key argument can specify any single key combined with ALT, CTRL, or SHIFT, or any combination of these keys. Each key is represented by one or more characters, such as "a" for the character a, or "{ENTER}" for the ENTER key.

To specify characters that aren't displayed when you press the corresponding key (ENTER or TAB, for example), use the codes listed in the following table. Each code in the table represents one key on the keyboard.

Key Code
BACKSPACE {BACKSPACE} or {BS}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
CLEAR {CLEAR}
DELETE or DEL {DELETE} or {DEL}
DOWN ARROW {DOWN}
END {END}
ENTER (numeric keypad) {ENTER}
ENTER ~ (tilde)
ESC {ESCAPE} or {ESC}
HELP {HELP}
HOME {HOME}
INS {INSERT}
LEFT ARROW {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
RETURN {RETURN}
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW {UP}
F1 through F15 {F1} through {F15}


You can also specify keys combined with SHIFT and/or CTRL and/or ALT. To specify a key combined with another key or keys, use the following table.

To combine keys with  Precede the key code by
SHIFT + (plus sign)
CTRL ^ (caret)
ALT % (percent sign)


To assign a procedure to one of the special characters (+, ^, %, and so on), enclose the character in braces. For details, see the example.
Avatar billede b_hansen Novice
01. maj 2002 - 09:00 #19
Application.OnKey "^c", "InsertProc"

Denne linie betyder kort fortalt, at makroen "Inserproc" køres, når der tastes CTRL-c

^ betyder CTRL + den efterfølgende tast
Avatar billede bak Forsker
01. maj 2002 - 11:33 #20
Hansen har ret. Det skal også virke i excel95. I en gammel dansk brugerhåndbog til VBA (xl95) fandt jeg følgende:
(du burde også kunne skrive den på dansk :-) )

Procedure FangTaster()
Program.NårTast tast:= "{F12}"; procedure := "KørMinMakro"
Slut Procedure
Avatar billede bambus Nybegynder
01. maj 2002 - 12:02 #21
skal koden så sættes ind i modulet? (husk genvejstasten skal kun være aktiv når userform1 er aktiv!
Avatar billede bak Forsker
01. maj 2002 - 17:54 #22
Prøv at putte den i userform_initialize
Så er den først aktiv når userformen startes.

Sæt så linien
Program.NårTast tast:= "{F12}"; procedure := ""
i ved afslutning af userform  ( fx. userform_deactivate)
Avatar billede b_hansen Novice
23. maj 2002 - 09:19 #23
har du fået det til at virke bambus?
Avatar billede bambus Nybegynder
19. juni 2002 - 14:58 #24
slut prut
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
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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