Hur låser eller skyddar celler efter datainmatning eller inmatning i Excel?
Om du antar att du har ett kalkylblad och bara ett visst intervall av tomma celler behöver datainmatning, och när du är klar med att mata in data, måste du låsa cellerna automatiskt för att förhindra ändringar igen. Hur kan du uppnå detta? 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 det här intervallet först genom att markera cellerna, högerklicka och sedan välja 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" intervallet där du behöver mata in data; och "123" är lösenordet för det skyddade kalkylbladet. Vänligen ä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
Boosta dina Excel-kunskaper med Kutools for Exceloch upplev effektivitet som aldrig förr. Kutools for 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...
Office Tab Få ett flikargrä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!