/ Forside/ Teknologi / Administrative / MS-Office / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
Låse kun dele af Excel ark?
Fra : NegoZatoR
Vist : 983 gange
200 point
Dato : 24-01-13 13:45

Hey allesammen .. :)

Sidder og laver et excel-ark , hvor jeg gerne vil låse hele arket med en kode (Så langt så godt) -

Men jeg vil så gerne åbne for nogen celler inde i arket.

Altså for eksempel (pseudo):

Lås alle celler mellem A1:W45

Lås op alle celler mellem A4:L16

Jeg er begyndt at kigge på en macro, der løber alle 'sheets' igennem, men får en fejl når den skal oplåse på sidst nævnte range.

Kode
Sub WorksheetLoop()

Dim WS_Count As Integer
Dim I As Integer
Dim CurrentSheet As Worksheet

' Set WS_Count equal to the number of worksheets in the active
' workbook.
WS_Count = ActiveWorkbook.Worksheets.Count

' Begin the loop.
For I = 1 To WS_Count
' Select current sheet
Set CurrentSheet = ActiveWorkbook.Worksheets(I)

' Replace text from selected range
' LResult = CurrentSheet.Range("B4").Replace("Lavet", "Kommentarer")
CurrentSheet.Unprotect Password:="pass"
CurrentSheet.Range("a:w").Cells.Locked = False

' lock row
Set r1 = CurrentSheet.Range("A1:W45")
Set r2 = CurrentSheet.Range("A4:L16")
r1.Cells.Locked = True

' unlock rows
' Set r2 = CurrentSheet.Range("A4:L16") <-- [B]HER GÅR DET GALT .. [/B]

CurrentSheet.Protect Password:="pass"

Next I
End Sub


 
 
Kommentar
Fra : Brassovitski


Dato : 24-01-13 17:55

Hvad er det lige du vil låse, må man ikke kunne se indholdet, eller må man blot ikke kunne rette i dem?
Normalt vil jeg foreslå at du under celleformat --> sikkerhed, markere de celler du vil låse, og afmarkerer dem der ikke skal være låst. Derefter går fu til "Beskyt ark" laver de indstillinger du vil skal gælde for låste og ikke låste celler, og så lægger en kode på.

Kommentar
Fra : NegoZatoR


Dato : 24-01-13 22:52

Jeg vil gerne låse hele dokumentet undtagen Range("A4:L16")

Det du siger jeg kan gøre - det er jeg selvfølgelig klar over, men du kan godt se når jeg måske har noget der ligner 800 sheets inde i min workbook, så vil det tage 112år at komme igennem :-/

Derfor vil jeg bruge en makro til det :)



Kommentar
Fra : NegoZatoR


Dato : 25-01-13 14:03

Har fundet ud af det .. :)

Skulle selecte celle området først før jeg kunne ændre på beskyttelsen.

Kode
ISub test()
Application.ScreenUpdating = False
For Each sh In ThisWorkbook.Sheets
sh.Unprotect Password:="pass"
sh.Select
Range("A4:L16").Select
Selection.Locked = False
sh.Protect Password:="pass"
Next
Application.ScreenUpdating = True
End Sub


Accepteret svar
Fra : meiland

Modtaget 200 point
Dato : 25-01-13 14:03

Prøv denne !

Sub WorksheetLoop()

Dim WS_Count As Integer
Dim I As Integer
Dim CurrentSheet As Worksheet

' Set WS_Count equal to the number of worksheets in the active
' workbook.
WS_Count = ActiveWorkbook.Worksheets.Count

' Begin the loop.
For I = 1 To WS_Count
' Select current sheet
Set CurrentSheet = ActiveWorkbook.Worksheets(I)

' Remove sheet protection
CurrentSheet.Unprotect Password:="pass"

' lock all rows
Cells.Select
Selection.Locked = True

' unlock rows
Range("A4:L16").Select
Selection.Locked = False

'Protect sheet
CurrentSheet.Protect Password:="pass"

Next I
End Sub





Kommentar
Fra : NegoZatoR


Dato : 25-01-13 14:05

Meiland .. :) - Jeps lige præscis .. :)

Du har også lavet Selection inden du ændre på beskyttelsen .. :)

Points all yours :)

Godkendelse af svar
Fra : NegoZatoR


Dato : 25-01-13 14:06

Tak for svaret meiland.

Godt arbejde :)

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste