Note: The other languages of the website are Google-translated. Back to English

Hvordan forhindres, at specifikt celleindhold slettes i Excel?

Denne artikel taler om at forhindre, at specifikt celleindhold slettes i Excel. Du kan opnå det med metoderne i denne artikel.

Forhindre, at specifikt celleindhold slettes ved at beskytte regnearket
Forhindre, at specifikt celleindhold slettes ved hjælp af VBA-kode


Forhindre, at specifikt celleindhold slettes ved at beskytte regnearket

Som standard er alle celler i regnearket låst. Hvis du vil forhindre, at specifikt celleindhold slettes, og gøre andre celler redigerbare efter beskyttelse, skal du gøre som følger.

1. Klik på i øverste venstre hjørne af regnearket for at vælge hele regnearket. Tryk derefter på Ctrl + 1 nøgler til at åbne formater celler dialog boks.

2. I popping up formater celler fjern dialogboksen Låst mulighed under Beskyttelse fanebladet, og klik derefter på OK knap. Se skærmbillede:

3. Vælg de celler, du ikke ønsker, at indholdet skal slettes, tryk på Ctrl + 1 taster for at åbne formater celler dialogboksen igen, skal du kontrollere Låst mulighed under Beskyttelse fanebladet, og klik derefter på OK .

4. Klik nu anmeldelse > Beskyt ark, derefter angive og bekræfte din adgangskode i begge Beskyt ark og bekræft password dialogbokse.

Nu er regnearket beskyttet. Og det angivne celleindhold slettes ikke mere.


Forhindre, at specifikt celleindhold slettes ved hjælp af VBA-kode

Udover de to ovennævnte metoder kan du køre VBA-kode for at forhindre, at specifikt celleindhold slettes i et regneark. Gør som følger.

1. Åbn regnearket, der indeholder det celleindhold, du ikke vil slette, højreklik på fanen Ark, og klik derefter på Vis kode fra højreklikmenuen.

2. Kopier og indsæt nedenstående VBA-kode i kodevinduet på Microsoft Visual Basic til applikationer vindue.

VBA-kode: Undgå, at specifikt celleindhold slettes i Excel

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1:E7")) Is Nothing Then Exit Sub
    On Error GoTo ExitPoint
    Application.EnableEvents = False
    If Not IsDate(Target(1)) Then
        Application.Undo
        MsgBox " You can't delete cell contents from this range " _
        , vbCritical, "Kutools for Excel"
    End If
ExitPoint:
    Application.EnableEvents = True
End Sub

Bemærk: I koden er A1: E17 det område, som celleindholdet du forhindrer i at blive slettet. Du kan ændre rækkevidden ud fra dine behov.

Fra nu af, når du prøver at slette celleindhold fra område A1: E17, får du en Kutools til Excel dialogboks som vist nedenstående skærmbillede, skal du klikke på OK .


Relaterede artikler:


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (17)
Bedømt 5 ud af 5 · 1 vurderinger
Denne kommentar blev minimeret af moderatoren på webstedet
Lige hvad jeg ledte efter, tak for hjælpen!
Denne kommentar blev minimeret af moderatoren på webstedet
bare rolig, altid her for at hjælpe :)
Denne kommentar blev minimeret af moderatoren på webstedet
Hej der,

Jeg har lige prøvet VBA-scriptet, og mens det fungerer rigtig godt i de fleste situationer. Det virker dog ikke, når du tabulerer fra en redigerbar celle til den ikke-redigerbare kolonne/celle. Problemet opstår ved, at den sender fejlmeddelelsen op - som beordret - men den beholder ikke de data, der blev indtastet i den originale, redigerbare celle, som blev tabt fra.

Vil du have en ændring af scriptet, så det accepterer dataene i den redigerbare celle, når du tabulerer ind i un-editable?

Skål
Denne kommentar blev minimeret af moderatoren på webstedet
God dag,
Jeg prøvede som du nævnte i dit tilfælde, men der opstår ingen fejl. Vil du give et skærmbillede af din sag eller fortælle mig din Office-version?
Tak for din kommentar.
Denne kommentar blev minimeret af moderatoren på webstedet
Hvis du ikke vil kigge på dit ark eller skrive VBA-kode, så bruger jeg en simpel teknik, der forhindrer enhver tilsidesættelse undtagen når de bruger "DELETE"-tasten (backspace vil ikke være tilladt, men Slet er svært at stoppe ). Det, jeg gjorde, var at tilføje en datavalidering med følgende indstillinger:

1) Tillad --> Liste

2) fjern markeringen af ​​"Ignorer blank" og "in-cell dropdown"

3) Indtast to dobbelte anførselstegn i kilden (dvs. "")

4) På fanen Error Alert skal du markere "Vis fejlændring efter at ugyldige data er indtastet", vælg "Stop" for stil, og indtast derefter en fejlmeddelelse og beskrivelse (f.eks. Tilsidesæt ikke)
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,
Tak til deling.
Denne kommentar blev minimeret af moderatoren på webstedet
VBA-kode - Godt tip tak

Er der en VBA-kode til at forhindre specifikt celleindhold i at blive ændret OG slettet i Excel?
Det sædvanlige beskyttelsesark virker ikke for mig, da jeg mister evnen til at sortere data?

På forhånd tak - Neil
Denne kommentar blev minimeret af moderatoren på webstedet
"Forhindrer specifikt celleindhold i at blive slettet ved at beskytte regnearket"Jeg gjorde i henhold til din retningslinje, stadig celleoplysninger kunne slettes, dvs. beskyttelse virker ikke. Enhver løsning.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Ahsan,
Anvendte du VBA-metoden?
Du skal tilføje VBA til regnearkskodevinduet. Hvis det antages, at celleindholdet, du vil beskytte, er i Sheet9, skal du højreklikke på arkfanen og vælge Vis kode fra kontekstmenuen, og derefter kopiere koden direkte ind i kodevinduet som vist på billedet nedenfor.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, denne kode fungerer godt, men sletning af række/kolonne vil omgå den. Er der nogen løsning på dette? Skål, David.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej David,
Hvilken Excel-version bruger du? Jeg har prøvet koden, hele rækker og kolonner i det angivne område kan ikke slettes efter anvendelse af koden.
Denne kommentar blev minimeret af moderatoren på webstedet
Tak for den værdifulde information.
Med hensyn til nedenstående VBA:
Privat Sub Worksheet_Change (ByVal Target As Range)
Hvis Intersect(Target, Range("A1:E7")) er intet, så Afslut Sub
Ved fejl GoTo ExitPoint
Application.EnableEvents = False
Hvis ikke IsDate(Target(1)) Så
Ansøgning. Fortryd
MsgBox " Du kan ikke slette celleindhold fra dette område " _
, vbCritical, "Kutools til Excel"
End If
Udgangspunkt:
Application.EnableEvents = True
End Sub

Ovenstående vil tillade udførelse inden for et bestemt specificeret interval. Det tillader ikke tilføjelse af nye rækker. Er der en måde, hvorpå nye rækker kan tilføjes, men samtidig bevare den samme beskyttelse.
tak og hilsner
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Oussama Abou faraj,
Efter at have prøvet med forskellige metoder, kan jeg ikke få det til at virke. Efter tilføjelse af en ny række vil området blive låst med det samme, og den nyindsatte celle kan ikke redigeres.
Denne kommentar blev minimeret af moderatoren på webstedet
Er det muligt at gøre noget lignende på projektmappeniveau?

Privat Sub Worksheet_Change (ByVal Target As Range)
Hvis Intersect(Target, Range("A1:M7000")) er intet, så Afslut Sub
Ved fejl GoTo ExitPoint
Application.EnableEvents = False
Hvis ikke IsDate(Target(1)) Så
Ansøgning. Fortryd
MsgBox " Du kan ikke slette celleindhold fra dette område " _
, vbCritical, "Kutools til Excel"
End If
Udgangspunkt:
Application.EnableEvents = True
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Gelu,
Mener du at forhindre området "A1:M7000" i at blive slettet i alle regneark i den aktuelle projektmappe?
Denne kommentar blev minimeret af moderatoren på webstedet
Nej, jeg mente IKKE at tillade sletning (uden at beskytte wks eller wkb).

Det er rart, at ovenstående fungerer på Wks-niveau.

Hvis der er noget, der får det til at fungere på wkb-niveau, ville det være endnu bedre (jeg har mange ark)

G
Denne kommentar blev minimeret af moderatoren på webstedet
Dette er godt. Jeg tænkte på, om dette var en mulighed, og det var det helt sikkert. Tak for de meget nemme instruktioner.

Andres S.
Bedømt 5 ud af 5
Der er endnu ingen kommentarer her
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL