I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Makroen søger for at du kun kan vælge mellem ulåste celler i et beskyttet ark. Desuden virker den på Activate handlingen. Det vil sige hvis det pågældende ark bliver aktiveret. Det gør det ikke, hvis det er det ark mappen åbner i. Derfor virker makroen først, hvis du har været i et andent ark, og så klikkerpå arkfanen for det ark, der indeholder makroen. Samtidigt skal du huske at hændelsesmakroer skal ligge i arkets programkode. Højreklik på arkfanen og vælg Vis programkode. Sæt koden ind her.
Hvis den skal virke altid ville jeg bruge Private Sub Worksheet_Open() i stedet for.
superjap! Jeg kan også få: ActiveSheet.EnableSelection = xlUnlockedsCells til at virke når jeg aktivere beskyttelsen, men hvis beskyttelsen skal aktiveres går lidt af det, jeg troede kunne være fidusen væk.
Hvad er så fordelen ved at bruge den nævnte Makro, når man skal ind i hvert Ark for at slå beskyttelsen til??
prøv at lægge dette ind i modulet ThisWorkBook Den aktiverer beskyttelse for alle ark og gør at man ikke kan markere/selecte låste celler overhovedet. Den er også lige den lille kringle med at userinterfaceonly:=True gør at makroer kan køre og ændre arket selvom det er beskyttet, men det kan ikke ikke ændres af andet. (det kunne være det du søger i dit andet spm.)
Private Sub Workbook_Open() Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets sh.Protect sh.EnableSelection = xlUnlockedCells Next End Sub
Private Sub Workbook_Open() Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets sh.Protect userinterfaceonly:=True sh.EnableSelection = xlUnlockedCells Next End Sub
mjf1->En enkelt kommentar til dit oprindelige spørgsmål. Nej, den pågældende makro beskytter ingenting. Den forhindrer dig bare i at markere beskyttede celler. bak's makro derimod beskytter også.
Bak > Makroen vil ikke virke når den er sat ind efter ”This WorkBook ” Jeg har sat Makroen ind som følger, er det OK??
With ThisWorkbook Private Sub Workbook_Open() Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets sh.Protect userinterfaceonly:=True sh.EnableSelection = xlUnlockedCells Next End Sub Set StdWsh = .("skabelon") Set MedWsh = .SSheetsheets("Medarbejdere") Set SkaOpgwsh = .Sheets("Opgørelse") Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets sh.Protect userinterfaceonly:=True sh.EnableSelection = xlUnlockedCells Next End Sub
Jkrons> Tak, jeg lære hele tiden noget nyt især når det drejer sig om det MEGET STORE DYBE HUL makro og især når man ikke er mellem 13 og 17 år.
Når denne Makro kode virker (kommer til det) betyder det så ikke, den efterfølgende kode ikke vil funger mere???
Private Sub Workbook_Open() Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets sh.Protect userinterfaceonly:=True sh.EnableSelection = xlUnlockedCells Next End Sub
----------------------------------------------Ny kode
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim ss As String On Error GoTo fejl If Not Intersect(Target, Range("c8:c200")) Is Nothing Then Cancel = True ss = "'C:\[JOBnrMed_Tekst.xls]Sheet1'!$A$3:$B$500,2,false" ss = "=vlookup(" & Target.Address & "," & ss & ")" [aa1].Formula = ss If IsError([aa1]) Then MsgBox Target.Value & vbCr & ("Ingen hjælpetekst") Else MsgBox Target.Value & vbCr & [aa1].Value [aa1].Clear End If Exit Sub fejl: MsgBox ("der er sket en fejl") End Sub
Nej det virker såmænd fint cellerne C8:C200 må bare ikke være beskyttede. (i Formater / celler / beskyttelse / låst fjernes hakket). hvis ikke man kan "selecte" dem kan man jo heller ikke dobbeltklikke i dem. Husk at beskyttelsemakroen skal være i ThisWorkBook og din egen skal være i arkets eget kodemodul.
med hensyn til dit første spørgsmål så ser koden da lidt dobbelt ud !!!
Bak!! Jeg bliv nød til at bede om lidt hjælp, når jeg ”ligger følgende ind i modulet ThisWorkBook:
Private Sub Workbook_Open() Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets sh.Protect userinterfaceonly:=True sh.EnableSelection = xlUnlockedCells Next End Sub
Kan jeg ikke få det til at køre tilfredsstillende, alt efter hvad jeg prøver opretter den kun en enkelt mappe eller slet ingen. mfj1
ok, sæt det ind i bunden af din "store" makro.. With Application .DisplayAlerts = False Sheets(1).Delete '*** sletter 1. ark .DisplayAlerts = True End With '*******her indsættes det************* For Each sh In ActiveWorkbook.Worksheets sh.Protect userinterfaceonly:=True sh.EnableSelection = xlUnlockedCells Next '********-----------------************** Next With Application .SheetsInNewWorkbook = Oldsheets .ScreenUpdating = True .Calculation = xlCalculationAutomatic End With End Sub
HUSK at indsætte Dim sh As Worksheet i toppen
Dette gør at arkene først beskyttes efter de nye mapper er oprettet.
Bak. Mange tak for hjælpen, jeg opretter lige et spørgsmål, hvor du bedes ligge et svar så du kan få lidt point. mfj1
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.