Avatar billede visto Professor
21. april 2023 - 20:20 Der er 9 kommentarer

Forskel på markør-opførsel når ark er beskyttet

Jeg bruger Excel 2013.

Jeg har under Indstillinger > Avanceret deaktiveret "Efter tryk på Enter flyttes markeringen", for at markøren skal blive stående i cellen efter tryk på Enter.
Det virker, når arket ikke er beskyttet, men når arkbeskyttelsen er slået til, flytter markøren sig ved tryk på Enter til den nærmeste ulåste celle under cellen som jeg står i.

Kan det lade sig gøre, at sørge for at markøren ikke flytter sig efter tryk på Enter, når arket er beskyttet?
Avatar billede Erik K Ekspert
21. april 2023 - 22:34 #1
I en negelsk udgave kan du gøre følgende:

Klik på fanen "Review" i Excel.
Klik på knappen "Protect Sheet" i gruppen "Changes".
Indtast et kodeord, hvis det er nødvendigt, og klik på "OK".
Klik på fanen "File" og vælg "Options".
Vælg fanen "Advanced".
Rul ned til "Editing options" og fjern markeringen i afkrydsningsfeltet "After pressing Enter, move selection".
Klik på "OK" for at gemme ændringerne.
Har du en dansk version, må du finde de danske betegnelser.
Avatar billede visto Professor
21. april 2023 - 22:45 #2
Det er præcis sådan jeg allerede har gjort.
Avatar billede Erik K Ekspert
21. april 2023 - 23:56 #3
Så er det nok ikke implementeret i 2013 - det virker i 2016 og nyere.
Avatar billede Tom K. Forsker
22. april 2023 - 13:31 #4
Desværre er det ikke muligt at forhindre, at markøren flytter sig efter tryk på Enter, når arket er beskyttet i Excel 2013. Dette er en indbygget sikkerhedsfunktion i Excel, og den kan ikke ændres eller omgås uden brug af VBA


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

Private Sub StayInSameCell()
    'Din handling eller kode, der skal udføres efter tryk på Enter
    'Her kan du tilføje den handling, du ønsker, fx kopiere værdien til en anden celle eller udføre en beregning
    '...
    '...
    '...
   
    'For at forhindre markøren i at flytte sig efter tryk på Enter, kan du bruge følgende linje:
    Application.EnableEvents = False
    SendKeys "{ESC}"
    Application.EnableEvents = True
End Sub
Avatar billede visto Professor
22. april 2023 - 15:49 #5
Jeg har indsat
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.OnKey "{ENTER}", "StayInSameCell"
End Sub

Private Sub StayInSameCell()
    Application.EnableEvents = False
    SendKeys "{ESC}"
    Application.EnableEvents = True
End Sub

Men jeg får meddelelsen:
"Makroen...StayInSameCell kan ikke køres. Makroen er måske ikke tilgængelig i denne projektmappe, eller alle makroer er deaktiveret."
Jeg har så været inde og aktivere alle makroer under Indstillinger for makroer i Center for sikkerhed og rettighedsadministration, men det hjælper ikke. (Har efterfølgende gemt og genåbnet filen, hvilket ikke hjælper.)
Avatar billede visto Professor
22. april 2023 - 15:53 #6
Tilføjelse til #5. Markøren bliver faktisk stående efter tryk på Enter, så makroen virker åbenbart. Så det er blot nævnte besked, der driller.
Avatar billede Tom K. Forsker
22. april 2023 - 17:30 #7
Private Sub Worksheet_Activate()
    Me.Protect ' Aktiver arkbeskyttelse ved aktivering af arket
End Sub

Private Sub Worksheet_Deactivate()
    Me.Unprotect ' Deaktiver arkbeskyttelse ved deaktivering af arket
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ' Håndterer markør-opførsel ved tryk på Enter i beskyttet ark
    If Me.ProtectContents Then
        Application.OnKey "{ENTER}", "HandleEnterKey"
    Else
        Application.OnKey "{ENTER}" ' Gendan standard Enter-nøglefunktion
    End If
End Sub

Sub HandleEnterKey()
    ' Håndterer Enter-tasten for beskyttet ark
    ' Her kan du tilføje din egen handling eller handlinger, som skal udføres, når Enter-tasten trykkes i et beskyttet ark
    ' For eksempel kan du bruge følgende kode til at forhindre markøren i at flytte sig
    ' og blot udføre en tom handling, når Enter-tasten trykkes:
    Application.EnableEvents = False
    SendKeys "{TAB}"
    Application.EnableEvents = True
End Sub
Avatar billede visto Professor
22. april 2023 - 17:52 #8
Ingen ændring.
Avatar billede visto Professor
22. april 2023 - 21:52 #9
Der er noget andet galt - helt galt. Når jeg tilgår andre projektmapper, får jeg, når jeg trykker Enter, samme meddelelse om fejlen i projektmappen med makroen, også selv om der ikke er forbindelse mellem de to projektmapper, og selv om projektmappen er lukket.
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

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