Avatar billede 1977_a Nybegynder
04. maj 2011 - 21:55 Der er 1 kommentar

Beskyt ark der indeholder VBA kode

Hej,

Jeg har et ark med en del VBA kode i. Koden gør, at udvalgte rækker skjules eller vises, afhængigt af valg foretaget i en dropdown.

Se udsnit af koden nedenfor.

Jeg har dog brug for at beskytte arket, så brugere kun kan taste i de felter jeg har låst op (via alm. formattering). Men beskytter jeg arket på almindelig vis, forhindrer jeg naturligvis koden i at virke, idet den skal skjule/vise rækker på baggrund af valg i førstnævnte dropdown.

Udsnit af min kode:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Range("c2").Value <> "Ja" Then
        Rows("18:35").EntireRow.Hidden = True
    Else
        Rows("18:35").EntireRow.Hidden = False
  End If
   
    If Range("c3").Value <> "Ja" Then
        Rows("36:53").EntireRow.Hidden = True
    Else
        Rows("36:53").EntireRow.Hidden = False
  End If
End sub
Avatar billede anlu Nybegynder
04. maj 2011 - 22:18 #1
Du skal bruge Unprotect-funktionen til at fjerne beskyttelsen inden du ændrer noget, og bruge Protect til sidst til at beskytte arket igen.
Begge ligger på worksheet-objektet og tager evt. password som parameter.
I protect-kaldet kan tillige angives hvad der tillades selv om arket er låst svarende til de flueben du kan sætte når du beskytter arket via brugerinterfacet.

Eksempelvis:

Target.Worksheet.Unprotect "MitPassword"
' din kode hvor du ændrer noget
Target.Worksheet.Protect "MitPassword", AllowFiltering:=True

(hvor AllowFiltering bare er et eksempel - du kan selv se, hvilke muligheder der er)
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
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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