Hur låser eller skyddar celler efter datainmatning eller inmatning i Excel?
Om du antar att du har ett kalkylblad och bara ett visst antal tomma celler behöver inmatas data, och efter att du har skrivit in data måste du låsa cellerna automatiskt för att förhindra ändringar igen. Hur kan du göra för att uppnå det? Den här artikeln kan hjälpa dig.
Lås eller skydda celler efter datainmatning eller inmatning med VBA-kod
Lås eller skydda celler efter datainmatning eller inmatning med VBA-kod
Till exempel är det vissa området tomma celler A1: F8. Gör så här för att låsa dessa celler efter datainmatning i Excel.
1. Lås upp detta område först, välj cellerna och högerklicka och välj sedan Formatera celler i högerklickmenyn och i Formatera celler dialogrutan, avmarkerar kryssrutan Låst lådan under skydd och slutligen klicka på OK knapp. Se skärmdump:
2. klick översyn > Skydda arket. Och ange ett lösenord för att skydda detta kalkylblad.
3. Högerklicka på arkfliken och välj Visa kod från högerklickmenyn. Kopiera och klistra sedan in nedanstående VBA-kod i kodfönstret. Se skärmdump:
VBA-kod: Lås eller skydda celler efter inmatning eller inmatning av data
Dim mRg As Range
Dim mStr As String
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("A1:F8"), 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("A1:F8"), Target)
If xRg Is Nothing Then Exit Sub
Target.Worksheet.Unprotect Password:="123"
If xRg.Value <> mStr Then xRg.Locked = True
Target.Worksheet.Protect Password:="123"
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("A1:F8"), Target) Is Nothing Then
Set mRg = Target.Item(1)
mStr = mRg.Value
End If
End Sub
Anmärkningar: I koden är “A1: F8” det område du behöver för att mata in data; och “123” är lösenordet för detta skyddade kalkylblad. Ändra dem efter behov.
4. Tryck andra + Q samtidigt för att stänga Microsoft Visual Basic för applikationer fönster.
Efter att ha slutfört att mata in data i cellerna i intervallet A1: F8, kommer de att låses automatiskt. Och du får en snabb dialogruta om du försöker ändra något cellinnehåll i detta intervall. Se skärmdump:
Relaterade artiklar:
- Hur låser jag alla cellreferenser i formler samtidigt i Excel?
- Hur låser eller låser man upp celler baserat på värden i en annan cell i Excel?
- Hur låser jag bild / bild till eller inuti cellen i Excel?
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!