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

Kako preprečiti brisanje določene vsebine celic v Excelu?

Ta članek govori o preprečevanju brisanja določene vsebine celic v Excelu. To lahko dosežete z metodami v tem članku.

Preprečite brisanje določene vsebine celice z zaščito delovnega lista
S kodo VBA preprečite brisanje določene vsebine celice


Preprečite brisanje določene vsebine celice z zaščito delovnega lista

Vse celice na delovnem listu so privzeto zaklenjene. Če želite preprečiti brisanje določene vsebine celic in omogočiti urejanje drugih celic po zaščiti, storite naslednje.

1. Kliknite v zgornjem levem kotu delovnega lista, da izberete celoten delovni list. Nato pritisnite Ctrl + 1 tipke za odpiranje Oblikuj celice pogovorno okno.

2. V pojavnem oknu Oblikuj celice pogovorno okno, počistite polje Zaklenjen možnost pod Zaščita kartico in nato kliknite OK . Oglejte si posnetek zaslona:

3. Izberite celice, za katere ne želite, da se vsebina izbriše, pritisnite Ctrl + 1 tipke za odpiranje Oblikuj celice znova pogovorno okno, preverite Zaklenjen možnost pod Zaščita kartico in nato kliknite OK gumb.

4. Zdaj kliknite pregled > Zaščitite list, nato določite in potrdite svoje geslo v obeh Zaščitite list in potrdi geslo pogovorna okna.

Zdaj je delovni list zaščiten. In navedena vsebina celice ne bo več izbrisana.


S kodo VBA preprečite brisanje določene vsebine celice

Poleg zgornjih dveh metod lahko zaženete tudi kodo VBA, da preprečite brisanje določene vsebine celice na delovnem listu. Naredite naslednje.

1. Odprite delovni list, ki vsebuje vsebino celice, ki je ne želite izbrisati, z desno miškino tipko kliknite jeziček Sheet in nato kliknite Ogled kode v meniju z desnim klikom.

2. Kopirajte in prilepite spodnjo kodo VBA v okno Code na Microsoft Visual Basic za aplikacije okno.

Koda VBA: preprečite brisanje določene vsebine celic v Excelu

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

Opombe: V kodi je A1: E17 obseg, katerega vsebina celice ne bo izbrisana. Razpon lahko spremenite glede na vaše potrebe.

Od zdaj naprej, ko poskušate izbrisati vsebino celice iz obsega A1: E17, boste dobili Kutools za Excel pogovorno okno, kot je prikazano na spodnji sliki zaslona, ​​kliknite OK gumb.


Sorodni članki:


Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča vašo produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2021 in 365. Podpira vse jezike. Enostavna uvedba v vašem podjetju ali organizaciji. 30-dnevna brezplačna preizkusna različica vseh funkcij. 60-dnevna garancija vračila denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
dno pisarniške mize
Komentarji (17)
Ocenjeno 5 iz 5 · 1 ocene
Ta komentar je moderator na spletnem mestu minimiziral
Ravno to kar sem iskal, hvala za pomoč!
Ta komentar je moderator na spletnem mestu minimiziral
ne skrbite, vedno tukaj, da pomagate :)
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo,

Pravkar sem preizkusil skript VBA in v večini situacij deluje zelo dobro. Vendar pa ne deluje, ko iz celice, ki jo je mogoče urejati, preidete v stolpec/celico, ki ga ni mogoče urejati. Težava nastane v tem, da vrže sporočilo o napaki - kot je bilo zapovedano -, vendar ne hrani podatkov, ki so bili vneseni v izvirno celico, ki jo je mogoče urejati, iz katere je bil zavihek.

Ali želite spremeniti skript, tako da sprejema podatke v celici, ki jo je mogoče urejati, ko se s tabulatorjem zavihkate v ne-urejanje?

Cheers
Ta komentar je moderator na spletnem mestu minimiziral
Dober dan,
Poskušal sem, kot ste omenili v vašem primeru, vendar ni prišlo do napake. Bi posredovali posnetek zaslona svojega primera ali mi povedali svojo različico Officea?
Hvala za vaš komentar.
Ta komentar je moderator na spletnem mestu minimiziral
Če ne želite pogledati svojega lista ali napisati kode VBA, potem uporabljam preprosto tehniko, ki preprečuje kakršno koli preglasitev, razen kadar uporabljajo tipko "DELETE" (vratnica ne bo dovoljena, vendar je brisanje težko ustaviti ). Kar sem naredil, je dodal potrditev podatkov z naslednjimi nastavitvami:

1) Dovoli --> Seznam

2) počistite polje »Prezri prazno« in »spustni meni v celici«

3) V vir vnesite dva dvojna narekovaja (tj. "")

4) Na zavihku Error Alert potrdite polje »Prikaži spremembo napake po vnosu neveljavnih podatkov«, izberite »Stop« za slog, nato vnesite sporočilo o napaki in opis (npr. Ne preglasi)
Ta komentar je moderator na spletnem mestu minimiziral
Hi,
Hvala za delitev.
Ta komentar je moderator na spletnem mestu minimiziral
Koda VBA - odličen nasvet, hvala

Ali obstaja koda VBA, ki preprečuje spreminjanje in brisanje določene vsebine celice v Excelu?
Običajni zaščitni list mi ne deluje, ker izgubim možnost razvrščanja podatkov?

Hvala vnaprej - Neil
Ta komentar je moderator na spletnem mestu minimiziral
"Preprečite izbris določene vsebine celice z zaščito delovnega lista" Naredil sem v skladu z vašimi smernicami, še vedno bi se lahko podatki o celici izbrisali, kar pomeni, da zaščita ne deluje. Vsaka rešitev.
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Ahsan,
Ali ste uporabili metodo VBA?
V okno kode delovnega lista morate dodati VBA. Če je vsebina celice, ki jo želite zaščititi, na Sheet9, z desno miškino tipko kliknite zavihek lista in v kontekstnem meniju izberite Ogled kode, nato pa neposredno kopirajte kodo v okno s kodo, kot je prikazano na spodnji sliki.
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, ta koda deluje dobro, vendar jo bo brisanje vrstice/stolpca zaobšlo. Ali obstaja kakšna rešitev za to? Na zdravje, David.
Ta komentar je moderator na spletnem mestu minimiziral
Hi David,
Katero različico Excela uporabljate? Preizkusil sem kodo, celih vrstic in stolpcev v določenem obsegu po uporabi kode ni mogoče izbrisati.
Ta komentar je moderator na spletnem mestu minimiziral
Hvala za dragocene informacije.
Glede spodnjega VBA:
Zasebni poddelovni list_Spremeni (ByVal Target As Range)
Če Intersect(Target, Range("A1:E7")) ni nič, potem zapustite Sub
Ob napaki GoTo ExitPoint
Application.EnableEvents = False
If Not IsDate(Target(1)) Potem
Aplikacija. Razveljavi
MsgBox " Vsebine celice iz tega obsega ne morete izbrisati " _
, vbCritical, "Kutools za Excel"
Konec Če
ExitPoint:
Aplikacija EnableEvents = True
End Sub

Zgoraj navedeno bo omogočilo izvedbo v določenem določenem obsegu. Ne dovoljuje dodajanja novih vrstic. Ali obstaja način, da je mogoče dodati nove vrstice, vendar ohraniti enako zaščito.
Hvala in pozdrav
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Oussama Abou Faraj,
Po poskusu z različnimi metodami se mi zdi, da to ne deluje. Po dodajanju nove vrstice bo območje takoj zaklenjeno in na novo vstavljene celice ni mogoče urejati.
Ta komentar je moderator na spletnem mestu minimiziral
Ali je mogoče kaj podobnega narediti na ravni delovnega zvezka?

Zasebni poddelovni list_Spremeni (ByVal Target As Range)
Če Intersect(Target, Range("A1:M7000")) ni nič, potem zapustite sub
Ob napaki GoTo ExitPoint
Application.EnableEvents = False
If Not IsDate(Target(1)) Potem
Aplikacija. Razveljavi
MsgBox " Vsebine celice iz tega obsega ne morete izbrisati " _
, vbCritical, "Kutools za Excel"
Konec Če
ExitPoint:
Aplikacija EnableEvents = True
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Gelu,
Ali želite preprečiti brisanje obsega "A1:M7000" v vseh delovnih listih trenutnega delovnega zvezka?
Ta komentar je moderator na spletnem mestu minimiziral
Ne, mislil sem NE dovoliti brisanja (brez zaščite wks ali wkb).

Lepo je, da zgoraj navedeno deluje na ravni Wks.

Če obstaja nekaj, kar bi omogočilo, da deluje na ravni wkb, bi bilo še bolje (imam veliko listov)

G
Ta komentar je moderator na spletnem mestu minimiziral
To je odlično. Spraševal sem se, ali je to možnost in zagotovo je bila. Hvala za zelo preprosta navodila.

Andres S.
Ocenjeno 5 iz 5
Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL