Print side | Luk vindue

Flyt cursor efter data er tastet

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=4558
Udskrevet den: 22.Nov.2024 kl. 17:31


Emne: Flyt cursor efter data er tastet
Besked fra: Miltoft
Emne: Flyt cursor efter data er tastet
Posteringsdato: 08.Jun.2021 kl. 15:47
Hej med Jer :)

Jeg sidder med et større excel ark, der gerne skulle optimeres. Een af optimeringerne er, at Excel selv skal flytte cursoren til næste celle der skal tastes noget i. Jeg kunne lave det for en enkelt linie, men mine evner rækker ikke til at få dem til at gælde for hele arket.

Kan I evt. hjælpe mig?



Koden der kører lige nu ser ud som følger:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "D31" Then
Range("J31").Select
End If
If Target.Address = "J31" Then
Range("O31").Select
End If
If Target.Address = "O31" Then
Range("P31").Select
End If
If Target.Address = "P31" Then
Range("V31").Select
End If
If Target.Address = "V31" Then
Range("X31").Select
End If
If Target.Address = "X31" Then
Range("AC31").Select
End If
If Target.Address = "AC31" Then
Range("D32").Select
End If

End Sub



Mvh. Daniel




Svar:
Besked fra: Mads32
Posteringsdato: 10.Jun.2021 kl. 18:21
Hej

Du kan løse det ved at ændre på Exel-indstillinger. Der kan man vælge at markren flyttes til højre når der tastes "Enter"

Vælg "Filer", "Indstillinger"; "Avanceret". I "Redigerings muligheder" sættes "V" ved "efter tryk på Enter, flyttes markøren til". I boksen kan du vælg "Højre"

m v h mads32




Besked fra: Miltoft
Posteringsdato: 10.Jun.2021 kl. 18:28
Hej Mads,

Mange tak for dit svar. Desværre er det ikke den funktion jeg er ude efter. For cursoren skal springe forskellige antal kolonner over, og den skal ramme direkte i disse celler prompte. 

Det er for at minimere antal af klik med musen, samt indstastninger.

Mvh. Daniel


Besked fra: Miltoft
Posteringsdato: 14.Jun.2021 kl. 12:22
Denne er løst på anden vis :)


Besked fra: fiajakt
Posteringsdato: 05.Aug.2021 kl. 14:42
Du kan prøve med denne kode-





Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error GoTo 100
Dim Område As Range
Dim kolonne As Long
Dim Række As Long
Set Område = Range("A2:L20")



Application.EnableEvents = False



If Not Intersect(ActiveCell, Område) Is Nothing Then

kolonne = ActiveCell.Column
Række = ActiveCell.Row

If kolonne = 12 Then

kolonne = 1
Række = Række
Else:


kolonne = kolonne + 1
Række = Række - 1
End If

If Række < 20 Then

Cells(Række, kolonne).Select



End If

End If


Application.EnableEvents = True
GoTo 150
100
Application.EnableEvents = True
150
Exit Sub
End Sub




Print side | Luk vindue