Avatar billede naebet Nybegynder
07. november 2004 - 09:35 Der er 21 kommentarer og
1 løsning

Ved pile_udgang af et felt skal der springes til nyt felt

Hej

Jeg har et regneark hvor jeg i nogle af felterne gerne vil have det sådan at når jeg trykker på en piletast i de pågældende felter så springer fokus til et felt et andet sted på arket.
Kan det lade sig gøre?
Avatar billede fagpoler Novice
07. november 2004 - 16:51 #1
Ja med følgende kode

Sub Auto_Open()
  Application.OnKey "{Up}", "pilop"
  Application.OnKey "{Down}", "pilned"

End Sub

Sub pilop()
    MsgBox "Handling pil op" 'Her kan du sætte din egen kode ind
End Sub

Sub pilned()
    MsgBox "Handling pil ned" 'Her kan du sætte din egen kode ind
End Sub
Avatar billede fagpoler Novice
07. november 2004 - 16:56 #2
Hvis du skal have højre og venstre med er koden
& Makroer til (Du skal lige genstarte filen før det virker)

Sub Auto_Open()
  Application.OnKey "{Up}", "pilop"
  Application.OnKey "{Down}", "pilned"
  Application.OnKey "{Left}", "pilvenster"
  Application.OnKey "{Right}", "pilhojre"

End Sub
Avatar billede naebet Nybegynder
10. november 2004 - 18:07 #3
så hvis jeg med pilhojre vil gå til A13, hvordan vil det så komme til at se ud?
Avatar billede fagpoler Novice
10. november 2004 - 20:54 #4
Sub pilhojre()
    Range("A13").Select
End Sub
Avatar billede fagpoler Novice
10. november 2004 - 20:55 #5
'eller helt nøjagtigt

Sub Auto_Open()
  Application.OnKey "{Up}", "pilop"
  Application.OnKey "{Down}", "pilned"
  Application.OnKey "{Left}", "pilvenster"
  Application.OnKey "{Right}", "pilhojre"
End Sub

Sub pilhojre()
    Range("A13").Select
End Sub
Avatar billede fagpoler Novice
10. november 2004 - 21:02 #6
'Hvis det kun er højre skal du kun bruge, ellers vil du få en fejlmelding da de andre makroer mangler
Sub Auto_Open()
  Application.OnKey "{Right}", "pilhojre"
End Sub

Sub pilhojre()
    Range("A13").Select
End Sub
Avatar billede naebet Nybegynder
11. november 2004 - 09:56 #7
Nu er jeg ikke den store macrohaj, så det undre mig ikke at jeg ikke kan få det til at virke ;-)

der sker ikke noget når jeg indtaster
Sub Auto_Open()
  Application.OnKey "{Right}", "pilhojre"
End Sub

Sub pilhojre()
    Range("A13").Select
End Sub

Det er en dansk version af excel 2000 kan det have noget at sige?
Avatar billede fagpoler Novice
11. november 2004 - 14:23 #8
Hold Alt tasten nede og pryk på F11
nu er du inde i VB vælg Insert i nenuen, vælg indsæt Module, dobbeltklik på Module1 og sæt koden der ind.
Luk nu filen og svar ja til at gemme. Når du genstarter filen skulle den virke.
Avatar billede naebet Nybegynder
11. november 2004 - 20:30 #9
ja nu virker det, men det virker på alle felter i arket det er kun når jeg står i f12 at jeg vil til a13
Avatar billede kabbak Professor
11. november 2004 - 22:11 #10
Højreklik på arkfanen, vælg vis programkode, sæt den ind der.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = ("$F$12") Then
Range("A13").Select
End If
End Sub

Du skal fjerne det andet først

den virker hver gang du har ændret i F12, så vil den altid gå til A13
Avatar billede naebet Nybegynder
12. november 2004 - 13:22 #11
Ikke helt der sker faktisk ikke noget, jeg har slette det der stod før, og har genstartet filen. ???
Avatar billede kabbak Professor
12. november 2004 - 13:59 #12
der sker kun noget hvis du retter  eller skriver i F12
Avatar billede bak Forsker
12. november 2004 - 14:01 #13
prøv at bruge dette link.
Flemming Dahl har lavet noget der virker ...., måske kan du brue det.
http://www.win-consult.com/Tips/LibrarySource.asp?App=Excel&Lib=JumpCells
Avatar billede fagpoler Novice
12. november 2004 - 19:16 #14
'Hvis du sætter koden ind i et Modul og L12 skriver A13(5 celler til højre for F12)
Sub Auto_Open()
  Application.OnKey "{Right}", "pilhojre"
End Sub

Sub pilhojre()
    If ActiveCell.Offset(0, 5).Range("A1") = "A13" Then ' Kikker 5 celler til højre om der står  A13
    Range("A13").Select
    End If
   
End Sub
Avatar billede fagpoler Novice
12. november 2004 - 19:29 #15
'Du kan også  med højrepilen springe fra  flere forskellige celler fx F15 hvis du i L15 skriver A16 og sætter koden ind

Sub pilhojre()
    If ActiveCell.Offset(0, 5).Range("A1") = "A13" Then ' Kikker 5 celler til højre om der står  A13
    Range("A13").Select
    GoTo Slut
    End If
    If ActiveCell.Offset(0, 5).Range("A1") = "A16" Then ' Kikker 5 celler til højre om der står  A16
    Range("A16").Select
    End If
Slut:
End Sub
Avatar billede fagpoler Novice
12. november 2004 - 20:16 #16
'Du kan også få den til at virke som almindelig pil til højre  alle andre steder med følgende kode
Sub pilhojre()
    On Error GoTo Fortsaet
    If ActiveCell.Offset(0, 5).Range("A1") = "A13" Then ' Kikker 5 celler til højre om der står  A13
    Range("A13").Select
    GoTo Slut
    End If
    If ActiveCell.Offset(0, 5).Range("A1") = "A16" Then ' Kikker 5 celler til højre om der står  A16
    Range("A16").Select
    GoTo Slut
    End If
   
Fortsaet:
   
    Almindelig 'Makro som almindelig pil til højre
   
Slut:
End Sub
Sub Almindelig()
    On Error Resume Next
    ActiveCell.Offset(0, 1).Range("A1").Select
    On Error GoTo 0

End Sub
Avatar billede naebet Nybegynder
15. november 2004 - 18:23 #17
er der nogen der har et ark hvor skidet kører, jeg kan ikke få det til virke, der ske ikke noget ved højrepil overhovedet. send evt. et ark til mikael_hauge@hotmail.com
Avatar billede palle_ib Nybegynder
19. november 2004 - 19:46 #18
Et alternativ kunne være at låse cellerne du ikke vil have markøren til (låse alle dem du vil brue op), og herefter beskytte arket og så bruge tabulatoren i stedet.

Så vil markøren kun springe mellem de ikke lukkede celler.
Avatar billede naebet Nybegynder
21. november 2004 - 08:24 #19
Faqpoler tak for arket, hvilken version har du lavet det i? Der sker ikke noget når jeg ændre i cellen og forlader den. Jeg ved ikke om det kan være min excel der er gammel eller syg
Avatar billede fagpoler Novice
21. november 2004 - 15:40 #20
i filen EnLøsning.xls
når du står i den første gule feldt (F13) og skriver et eller andet, eller bare trykker på pilen til højre springer den til A13, hvis du står i (F15) springer den til A16 ellers alle andre steder virker pilen bare som pil til højre Det er en forudsætning at der står A13 i celle K13 og A16 i celle K15 (der kan rettes i koden så du kan skrive hvad du vil i vilke celler du vil) det er en forudsætning at du starter filen med Makro
****************************************************
i filen EnAndenLøsning.xls
virker ved at du skriver et eller andet (en forandring) i de af gule celler og trykker på tasten Enter
Avatar billede naebet Nybegynder
29. november 2004 - 20:14 #21
fagpoler får pointene, da det virker på en anden maskine jeg har, med samme version af excel. Jeg skal nok have geninstalleret skidet. smider du lige et svar?
Avatar billede fagpoler Novice
29. november 2004 - 21:26 #22
Ok tak godt det virker
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