Jeg har et ark, som er låst for redigering, så det kun er udvalgte celler der kan redigeres. Sådan lige for eksemplets skyld, så er det for eksempel: A1 A3 B2 B4 Der er åbne.
Når jeg står i celle A1 og trykker på TAB knappen, så hopper Excel til A3. Er der nogen måde man kan ændre på den måde Tab virker i Excel? Jeg vil gerne kunne styre hvad rækkefølge excel hopper videre, så rækkefølgen for eksempel er A1, B4, B2, A3, når man tabber rundt i arket.
Jeg har fundet nogen stumper VBA koder, men det lader ikke til at virke Excel 2019.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("A1")) Is Nothing Then Range("B4").Select ElseIf Not Intersect(Target, Range("B4")) Is Nothing Then Range("B2").Select ElseIf Not Intersect(Target, Range("B2")) Is Nothing Then Range("A3").Select ElseIf Not Intersect(Target, Range("A3")) Is Nothing Then Range("A1").Select End If End Sub
Beklager at det har taget lidt tid at svare; Kode stumpen gør helt sikkert noget, men jeg kan ikke lige blive klog på præcis hvordan den virker.
Jeg har ændret lidt i den og den set nu således ud: Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("D5")) Is Nothing Then Range("D9").Select ElseIf Not Intersect(Target, Range("D9")) Is Nothing Then Range("D11").Select ElseIf Not Intersect(Target, Range("D11")) Is Nothing Then Range("D17").Select ElseIf Not Intersect(Target, Range("D17")) Is Nothing Then Range("d19").Select End If End Sub
Problemet er at den tilsyneladende kører den helt igennem, så når jeg vælger celle D5, så køre den kodestumpen igennem og lander i D19. Det skulle gerne være sådan at koden bliver trigget af at man trykker på tab.
Hej Svend. Jeg indrømmer gerne at VBA koden ikke er min største spids kompetence, jeg er nok nærmest novice på området.
Men du kan prøve denne stump og se om den kan hjælpe dig på vej.
Private Sub Worksheet_Activate() Application.OnKey "{TAB}", "ChangeTabOrder" End Sub
Private Sub Worksheet_Deactivate() Application.OnKey "{TAB}" End Sub
Sub ChangeTabOrder() If ActiveCell.Address = "$A$1" Then Range("B4").Select ElseIf ActiveCell.Address = "$B$4" Then Range("B2").Select ElseIf ActiveCell.Address = "$B$2" Then Range("A3").Select ElseIf ActiveCell.Address = "$A$3" Then Range("A1").Select Else ' Standard tabulering SendKeys "{TAB}" End If End Sub
Mvh Tom K.
Synes godt om
Ny brugerNybegynder
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.