Avatar billede tvc Seniormester
02. marts 2009 - 12:47 Der er 7 kommentarer og
1 løsning

Ved Enter i kolonne K flyt markering til kolonne A række()+1

Hej

Jeg mangler en funktion der flytter markeringen fra kolonne K til den samme række + 1 i kolonne A.

Jeg mangler dermed det der skal fange Enter i kolonne K og flytte markeringen til næste række i kolonne A.

Er der en der vil hjælpe mig med en kode?

Hilsen

TVC
Avatar billede kabbak Professor
02. marts 2009 - 12:52 #1
noget i denne stil, men den skifter altid hvis du kommer længere end K kolonnen

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column > 11 Then
        Cells(Target.Row + 1, 1).Activate
    End If
End Sub
Avatar billede tvc Seniormester
02. marts 2009 - 13:09 #2
Den kan desværre ikke bruges i mit tilfælde, da der ikke er mulighed for at komme længere end til kolonne 11 (K). Resten af kolonnerne er skjult og låst (i beskyttelse).

Årsagen til at den ikke automatisk flytter ned er, at jeg har en celle K1 som jeg ikke har låst og som anvendes til et input fra en makro.

Hvis din sub kunne tilpasses så den ved Enter i kolonne 11 aktivere:

      Cells(Target.Row + 1, 1).Activate

Hilsen

TVC
Avatar billede kabbak Professor
02. marts 2009 - 13:22 #3
Jeg kan tilpasse til den med knækket pil på, men ikke den Enter ved det numeriske tastatur.
Koderne skal i et modul.

kør makroen test, og prøv så at bruge den Enter, med knækket pil.


Public Sub test()
Application.OnKey "~", "Flyt"
End Sub

Public Sub Flyt()
ActiveCell.Offset(0, 1).Activate
    If ActiveCell.Column >= 11 Then
        Cells(ActiveCell.Row + 1, 1).Activate
    End If
End Sub
Avatar billede tvc Seniormester
02. marts 2009 - 13:33 #4
Den driller desværre. Funktionen giver ikke mulighed for at redigere i kolonne K inden den flytter.

Det virker fint med knækpil, men funktionen flyt skal først aktiveres når man står i kolonne K og trykker på knækpil.
Avatar billede kabbak Professor
02. marts 2009 - 13:40 #5
fjern = i denne linje
  If ActiveCell.Column >= 11 Then

så den ser sådan ud
  If ActiveCell.Column > 11 Then
Avatar billede tvc Seniormester
02. marts 2009 - 15:02 #6
Super nu virker den!

Jeg har lagt Application.OnKey "~", "Flyt" ind i ThisWorkbook under Workbook_WindowActivate og det virker fint.

Der er nu blot et lille problem - hvordan får jeg annuleret Application.OnKey "~", "Flyt" så knækpil igen virker normalt. Vil sætte denne ind under Workbook_WindowDeactivate?

Lægger du et svar samtidig med?
Avatar billede tvc Seniormester
02. marts 2009 - 15:14 #7
Fandt løsningen:

Application.OnKey "~"

lægger du et svar og i øvrigt mange tak for hjælpen!
Avatar billede kabbak Professor
02. marts 2009 - 15:33 #8
;-))
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