PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBAAutomatiskt låsa en cell när man har matat in ett värdeAutomatiskt låsa en cell när man har matat in ett värde
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2017-03-31 08:00
 

Hej

Tänkte försöka "skrivskydda" celler alltefter ett värde har matats in

men att en admin kan låsa upp och redigera datat

Enkelt beskrivet

Så länge A1 är tom är den upplåst så fort man har matat in ett värde i A1 blir den låst/skrivskyddad

Vill admin ändra måste man låsa upp A1 med en "pinkod"

 Är detta nåt som någon har försökt göra tidigare och löst :)

/Mats

Nytt inlägg
 2017-03-31 13:18
 
 Ändrad av anonymous  på 2017-03-31 13:44:36
av-lås all celler.
Marker allt (ctrl+a), högerklicka->formatera celler->fliken skydd-> ta bort krysset i "låst"


Högerklicka på fliknamnet (typ "blad1") och välj skydda blad

Se till att minst den näst översta krysset är ifyllt, gärna de 2 översta.
Mata in samma lösenord som du kommer att använda i koden, typ 1234


Högerklicka på fliknamnet och välj "Visa kod"

skapa en händelsehanterare som bevakar ändringar i bladet:


Private Sub Worksheet_Change(ByVal Target As Range)

' om bladet är oskyddat antar vi att det är administratören som jobbar och cellerna skall inte skyddas.
' Om administratören raderar något skall cellen bli olåst så att det går att mata in igen. Ta bort om du vill sköta manuellt

If Me.ProtectContents = False Then
If Target.Value = "" Then Target.Locked = False
Exit Sub
End If


' om man råkar trycka enter utan att mata in något
' hoppar den över (fungerar inte om fler än en cell är markerad

If Target.Cells.Count = 1 Then
If Target.Value = "" Then Exit Sub '
End If


' lås upp bladet
Me.Unprotect Password:="1234"
' aktivera skydd för cellen
Target.Locked = True
' lås bladet
Me.Protect Password:="1234"
End Sub


MEN!!!!
1. händelsehanterare är ett jävla skit. allt kan gå fel.
2. Du skyddar bara ett blad med den här koden. Modifiera efter behag
3. lösenordet står i kalrtext i koden, ett uppenbart säkerhetsproblem (Alt+F11)



***ED****
Upplåsning genom att högerklicka på fliken och ange 1234
Nytt inlägg
 2017-04-03 07:04
 

Tack

 

Jag provar

 

/Mats

Nytt inlägg
 2017-04-06 06:49
 

Tack

 

Fungerar precis som jag vill

 

/Mats

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAAutomatiskt låsa en cell när man har matat in ett värdeAutomatiskt låsa en cell när man har matat in ett värde

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter