Print side | Luk vindue

lås forskellige celler efter indtastning

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=4263
Udskrevet den: 03.Maj.2024 kl. 05:37


Emne: lås forskellige celler efter indtastning
Besked fra: Benthe
Emne: lås forskellige celler efter indtastning
Posteringsdato: 02.Maj.2020 kl. 09:52
jeg har brug for at låse nogle celler efter der er tastet data ind,

det er cellerne "A6:A15" OG "C6:C15" og "E6:E15" og "G6:G15"

er der nogen som kan hjælpe

Benthe



Svar:
Besked fra: InfoTAL
Posteringsdato: 02.Maj.2020 kl. 10:25
Til Benthe.

Først indtast ønskede tal/formler i celler der senere skal låses.
1. CTRL+marker de celler der skal låses
2. Højre-klik på de markerede celler
   Formater celler
   Beskyttelse
   Flueben i lås celler
   OK
3. Ark: Gennemse
   Beskyt ark
   (evt. kode - med så HUSK koden, ellers kan der ikke åbnes igen)
   Anbefales (ikke nogen kode)
   OK
Så er de markerede celler låste og resten celler åbne.

Håber det er en nogenlunde beskrivelse og ellers vedh. en fil med eksempel/ønske, så det kan vises/tilrettes.
Ellers mere/tilbagemelding her.

-------------
InfoTAL
v/H.C.
Bruger Excel 2021 DK, 64 bit.
Svar gives/modtages..
Accepteret løsning: MARKER tråden med TAK/Accepteret svar
s.e.&o.


Besked fra: Benthe
Posteringsdato: 02.Maj.2020 kl. 10:54
Jeg udtrykte mig nok ikke godt nok.
Jeg har brug for en vba kode, som gør at cellerne låser 
Automatisk efter der er indtastet, og ikke kan rettes i, medmindre
At man låser arket op😉😉 selvfølgelig


Besked fra: Benthe
Posteringsdato: 03.Maj.2020 kl. 18:35
Efter flere forsøg kom jeg frem til denne

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("A6:A15,C6:C15,E6:E15,G6:G15"), Target) Is Nothing Then
    Set mRg = Target.Item(1)
    mStr = mRg.Value
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)

    Dim xRg As Range
    On Error Resume Next
    Set xRg = Intersect(Range("A6:A15,C6:C15,E6:E15,G6:G15,Q19"), Target)
    If xRg Is Nothing Then Exit Sub
    Target.Worksheet.Unprotect Password:=""
    If xRg.Value <> mStr Then xRg.Locked = True
    Target.Worksheet.Protect Password:=""

End Sub



Print side | Luk vindue