Kan ikke hjælpe dig med VB, men det nemmeste er at markere alle andre celle en dem og højreklikke på disse. Vælg formater celler og på sidste faneblad \"beskyttelse\" fjerner du fluebenet for \"låst\". Derefter til menuen funktioner>beskyttelse>beskyt ark
Synes bare ikke at det virker.. jeg kan stadigvæk slette fx. a5, som står til LOCKED... hvordan kan det være? Jeg har jo været i funktioner/beskyttelse/beskyt ark - endda med kodeord... kan det være fordi jeg skal køre den med shared-mode?
Man kan sagtens indspille det med makrooptageren, men det giver en del overflødig kode.
Her er en \"komprimeret\" udgave:
Sub Test() Cells.Locked = False Range(\"A4:A37\").Locked = True Range(\"A3:G3\").Locked = True ActiveSheet.Protect End Sub
Husk at stå i det rigtige ark, inden du udfører koden. Bemærk også, at du skal huske at fjerne arkbeskyttelsen, hvis du vil køre makroen mere end én gang i det samme ark.
Men virker den også i shared mode? Det skal være sådan at den bare er \'tændt\' når man åbner regnearket - man skal ikke gå op og sig RUN MACRO.. hvordan gøres det?
Hvis arket er beskyttet får brugeren da automatisk en excel-advarsel. Ellers: Højreklik på arkfanen, vælg \"Vis kode\", og indsæt nedenstående i den sub der er dannet.
For Each c In Worksheets(\"Sheet1\").Range(\"a1:a12\", \"b10:b20\") If c.Address = Target.Address Then MsgBox \"Nix, du kan ikke ændre i navnet\" Next
Du kan godt få makroen til at køre automatisk, når du åbner regnearket. Det kræver, at du flytter makroen over i det kodeark, der hedder \"ThisWorkbook\" og kalder makroen for \"Workbook_Open\", så vil makroen automatisk køre, når du åbner Excel-filen. For at undgå fejl, hvis arkbeskyttelsen allerede er slået til, er det nødvendigt at udvide makroen lidt, således at den starter med at blive slået fra. Desuden må du angive, hvilket faneblad du gerne vil have lavet beskyttelsen i, da der jo kan være mere end et faneblad i regnearket. Makroen kommer da til at se således ud (husk at rette navnet på fanebladet til, hvis det ikke hedder \"Ark1\"):
Sub Workbook_Open() Sheets(\"Ark1\").Activate ActiveSheet.Unprotect Cells.Locked = False Range(\"A4:A37\").Locked = True Range(\"A3:G3\").Locked = True ActiveSheet.Protect End Sub
Lidt nemmere, indsæt denne linie: Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Target.Locked = True Then MsgBox \"Nix, du kan ikke ændre i navnet\" End Sub
Det er BAK\'s metode jeg har brugt, og den fungerer fuldstændigt efter hensigten.
Tak til alle....
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.