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?
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.
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
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.)
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
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.
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.