Avatar billede tille Nybegynder
03. april 2003 - 13:01 Der er 14 kommentarer og
1 løsning

vba kode der reagerer på tastetryk

Hej

Jeg sidder med et regneark, der benyttes til indtastning af holdopstillinger.

nedad er der de enkelte spillere i truppen
henad er der de enkelte kampe

yderst til højre er der så en kolonne der viser total antal kampe for en spiller, der fåes ved at summere på tværs (der sættes et ettal hvis en spiller har været med)

Det jeg gerne vil kunne gøre er at jeg når jeg trykker på mellemrum udfylder det felt jeg står over med et ettal og flytter til cellen nedenunder.

er der nogen der kan lave en lille stump kode der kan det?

På forhånd tak

Tille
Avatar billede jkrons Professor
03. april 2003 - 13:29 #1
Denne kode gør næsten det du beder om, bortset fra at den bruger pil ned i stedet for mellemrum.

I arkets kodemodul indsætter du følgende:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.OnKey "{down}", "Inds1"
End Sub

I et almindeligt modul indsætter du så


Sub Inds1()
If ActiveCell.Column = 2 Then
ActiveCell.Value = 1
ActiveCell.Offset(1, 0).Activate
Else
ActiveCell.Offset(1, 0).Activate
End If
Debug.Print a
End Sub

2. tallet i skal erstattes med nummeret på den kolonne, hvor pil-tasten skal have den pågældende funktion.
Avatar billede tille Nybegynder
03. april 2003 - 13:34 #2
hvad nu hvis jeg VIL have det skal være mellemrum eller en anden?
har den også en kode?

pil ned ville jeg bruge til dem der ikke var med
Avatar billede jkrons Professor
03. april 2003 - 13:36 #3
Du kan godt få andre taster, men så vidt jeg ved ikke taster, der producerer tegn (altså tal, bogstaver, mellemrum mm.). Men du kan fx bruge BACKSPACE, DELETE, END, ESC m.fl.
Avatar billede jkrons Professor
03. april 2003 - 13:37 #4
ENTER kan selvfølgelig også bruges
Avatar billede jkrons Professor
03. april 2003 - 13:38 #5
Og du kan "parre" med SKIFT, CTRL og ALT.
Avatar billede tille Nybegynder
03. april 2003 - 14:07 #6
<<I et almindeligt modul indsætter du så....
når du siger almindeligt modul, mener du så 'indsæt modul' (der kommer til at hedde 'module1' ?

Det er det jeg har gjort, men der sker intet (tænk lige på at jeg er næsten excel/vba mongol :-) kan du lave en kogebog til at gøre hvad der skal til

<<2. tallet i skal erstattes med nummeret på den kolonne, hvor pil-
<<tasten skal have den pågældende funktion.
hvilket tal i ?
Avatar billede tille Nybegynder
03. april 2003 - 14:09 #7
ok nu tror jeg den er der glem kogebogen, det var bare mine mongolevner
Avatar billede jkrons Professor
03. april 2003 - 14:10 #8
Helt i orden. Jeg var ellers lige i gang.... :-)
Avatar billede jkrons Professor
03. april 2003 - 14:12 #9
Omkring to-tallet vil linien

If ActiveCell.Column = 2 Then

sikre at den tast du vælger kun får den pågældende funktion i B-kolonnen, ikke i andre kolonner. Skal det i stedet være c-kolonnen skal der stå = 3 og så fremdeles.
Avatar billede tille Nybegynder
03. april 2003 - 14:22 #10
>>If ActiveCell.Column = 2 Then
ja jeg har bare rettet til
If ActiveCell.Column <= 100 Then

så skulle jeg være dækket ind

sidste tillægsspørgsmål:

hvordan får jeg sat alt+down ind, den brpkker sig  ligegyldig hvad jeg prøver:
Application.OnKey "{ALT}+{down}", "Inds1"
Avatar billede jkrons Professor
03. april 2003 - 14:37 #11
Tak for point:

Alt skal udtrykkes som

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.OnKey "%{down}", "inds1"
End Sub
Avatar billede jkrons Professor
03. april 2003 - 14:37 #12
Altså med et %-tegn foran. + hvis du vil bruge Skift og ^ hvis´du vil bruge Ctrl.
Avatar billede bak Forsker
03. april 2003 - 16:47 #13
Man kan godt bruge Mellemrum

Application.OnKey Chr(32), "inds1"
Avatar billede jkrons Professor
03. april 2003 - 16:49 #14
bak-> Ok, den kunne jeg ikke huske !

Men hvad så, hvis man i anden sammenhæng vil lave mellemrum?
Avatar billede bak Forsker
03. april 2003 - 19:47 #15
Tjah, så må man sætte alt tilbage til normalt, så det er nok ikke det mest hensigtsmæssige :-)
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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