Note: The other languages of the website are Google-translated. Back to English
English English
  • Documenti
  • Excel
  • Come impedire l'eliminazione di contenuti di celle specifici in Excel?

Come impedire l'eliminazione di contenuti di celle specifici in Excel?

Questo articolo parla della prevenzione dell'eliminazione di contenuti di celle specifici in Excel. Puoi ottenerlo con i metodi in questo articolo.

Impedire l'eliminazione di contenuti di celle specifici proteggendo il foglio di lavoro
Impedisci l'eliminazione di contenuti di celle specifici utilizzando il codice VBA


Impedire l'eliminazione di contenuti di celle specifici proteggendo il foglio di lavoro

Per impostazione predefinita, tutte le celle nel foglio di lavoro sono bloccate. Se si desidera impedire l'eliminazione di contenuti di celle specifici e rendere modificabili altre celle dopo la protezione, eseguire le seguenti operazioni.

1. Fare clic sul pulsante nell'angolo in alto a sinistra del foglio di lavoro per selezionare l'intero foglio di lavoro. Quindi premere Ctrl + 1 chiavi per aprire il formato celle la finestra di dialogo.

2. Nel spuntare formato celle finestra di dialogo, deseleziona il file Bloccato opzione sotto il Protezione scheda, quindi fare clic su OK pulsante. Vedi screenshot:

3. Selezionare le celle di cui non si desidera eliminare il contenuto, premere Ctrl + 1 tasti per aprire il file formato celle di nuovo nella finestra di dialogo, controllare il file Bloccato opzione sotto il Protezione scheda, quindi fare clic su OK pulsante.

4. Ora fai clic su Revisione > Proteggi foglio, quindi specifica e conferma la tua password in entrambi i file Proteggi foglio di Conferma password finestre di dialogo.

Ora il foglio di lavoro è protetto. E il contenuto della cella specificato non verrà più eliminato.


Impedisci l'eliminazione di contenuti di celle specifici utilizzando il codice VBA

Oltre ai due metodi precedenti, è possibile eseguire codice VBA per impedire l'eliminazione di contenuti di celle specifici in un foglio di lavoro. Si prega di fare quanto segue.

1. Aprire il foglio di lavoro che contiene il contenuto della cella che non si desidera eliminare, fare clic con il pulsante destro del mouse sulla scheda del foglio, quindi fare clic su Visualizza codice dal menu di scelta rapida.

2. Copia e incolla il codice VBA sottostante nella finestra del codice del file Microsoft Visual Basic, Applications Edition finestra.

Codice VBA: impedisce l'eliminazione di contenuti di celle specifici in 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

Note:: Nel codice, A1: E17 è l'intervallo in cui il contenuto della cella impedirai di essere eliminato. Puoi modificare la gamma in base alle tue esigenze.

D'ora in poi, quando provi a eliminare il contenuto della cella dall'intervallo A1: E17, otterrai un file Kutools for Excel finestra di dialogo come mostrato nell'immagine sottostante, fare clic su OK pulsante.


Articoli correlati:


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività di
80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di
    300
    potenti caratteristiche
    . Supporta Office/Excel
    2007-2019 e 365
    . Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete
    30
    prova gratuita di un giorno. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la tua produttività di
    50%
    e riduce centinaia di clic del mouse per te ogni giorno!
fondo officetab
Commenti (16)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Proprio quello che stavo cercando, grazie per l'aiuto!
Questo commento è stato fatto dal moderatore sul sito
non preoccuparti sempre qui per aiutarti :)
Questo commento è stato fatto dal moderatore sul sito
Hi there,

Ho appena provato lo script VBA e mentre funziona davvero bene nella maggior parte delle situazioni. Tuttavia non funziona quando si passa da una cella modificabile a una colonna/cella non modificabile. Il problema sorge in quanto genera il messaggio di errore - come comandato - ma non mantiene i dati inseriti nella cella modificabile originale da cui è stato inserito il tab.

Avresti un emendamento allo script in modo che accetti i dati nella cella modificabile quando inserisci non modificabile?

Cin cin
Questo commento è stato fatto dal moderatore sul sito
Buona giornata,
Ho provato come hai detto nel tuo caso, ma non viene generato alcun errore. Forniresti uno screenshot del tuo caso o mi diresti la tua versione di Office?
Grazie per il tuo commento.
Questo commento è stato fatto dal moderatore sul sito
Se non vuoi guardare il tuo foglio o scrivere codice VBA, allora uso una tecnica semplice che impedisce qualsiasi sovrascrittura tranne quando usano il tasto "CANC" (il backspace non sarà consentito, ma Elimina è difficile da fermare ). Quello che ho fatto è stata aggiunta una convalida dei dati con le seguenti impostazioni:

1) Consenti --> Elenco

2) deseleziona "Ignora vuoto" e "menu a discesa nella cella"

3) Nella fonte inserisci due virgolette doppie (es. "")

4) Nella scheda Avviso di errore, seleziona "Mostra alterazione errore dopo l'inserimento di dati non validi", seleziona "Interrompi" per lo stile, quindi inserisci un messaggio di errore e una descrizione (ad es. Non sovrascrivere)
Questo commento è stato fatto dal moderatore sul sito
Ciao,
Grazie per la condivisione.
Questo commento è stato fatto dal moderatore sul sito
Codice VBA - Ottimo suggerimento grazie

Esiste un codice VBA per impedire la modifica e l'eliminazione di contenuti specifici della cella in Excel?
Il solito foglio di protezione non funziona per me poiché perdo la capacità di ordinare i dati?

Grazie in anticipo - Neil
Questo commento è stato fatto dal moderatore sul sito
"Impedisci l'eliminazione di contenuti specifici della cella proteggendo il foglio di lavoro" Ho fatto secondo le tue linee guida, tuttavia le informazioni sulla cella potrebbero essere eliminate, ad esempio la protezione non funziona. Qualsiasi soluzione.
Questo commento è stato fatto dal moderatore sul sito
Ciao Ahsan,
Hai applicato il metodo VBA?
È necessario aggiungere il VBA alla finestra del codice del foglio di lavoro. Supponendo che il contenuto della cella che desideri proteggere sia in Sheet9, fai clic con il pulsante destro del mouse sulla scheda del foglio e seleziona Visualizza codice dal menu di scelta rapida, quindi copia direttamente il codice nella finestra del codice come mostrato nell'immagine sottostante.
Questo commento è stato fatto dal moderatore sul sito
Ciao, questo codice funziona bene, tuttavia l'eliminazione di riga/colonna lo ignorerà. C'è qualche soluzione a questo? Ciao, Davide.
Questo commento è stato fatto dal moderatore sul sito
Ciao David,
Quale versione di Excel stai utilizzando? Ho provato il codice, intere righe e colonne nell'intervallo specificato non possono essere eliminate dopo aver applicato il codice.
Questo commento è stato fatto dal moderatore sul sito
Grazie per le preziose informazioni.
Per quanto riguarda il seguente VBA:
Private Sub Worksheet_Change (ByVal Target As Range)
Se Intersect(Target, Range("A1:E7")) non è nulla, allora Exit Sub
In caso di errore Vai a punto di uscita
Application.EnableEvents = False
If Not IsDate(Target(1)) Allora
Applicazione.Annulla
MsgBox "Non puoi eliminare il contenuto della cella da questo intervallo" _
, vbCritical, "Ktools per Excel"
End If
Punto di uscita:
Application.EnableEvents = True
End Sub

Quanto sopra consentirà l'esecuzione entro un determinato intervallo specificato. Non consente l'aggiunta di nuove righe. C'è un modo per aggiungere nuove righe mantenendo la stessa protezione.
grazie e saluti
Questo commento è stato fatto dal moderatore sul sito
Ciao Oussama Abu Faraj,
Dopo aver provato con vari metodi, non riesco a farlo funzionare. Dopo aver aggiunto una nuova riga, l'area verrà bloccata Immediatamente e la cella appena inserita non potrà essere modificata.
Questo commento è stato fatto dal moderatore sul sito
È possibile fare qualcosa di simile a livello di cartella di lavoro?

Private Sub Worksheet_Change (ByVal Target As Range)
Se Intersect(Target, Range("A1:M7000")) non è nulla, allora Exit Sub
In caso di errore Vai a punto di uscita
Application.EnableEvents = False
If Not IsDate(Target(1)) Allora
Applicazione.Annulla
MsgBox "Non puoi eliminare il contenuto della cella da questo intervallo" _
, vbCritical, "Ktools per Excel"
End If
Punto di uscita:
Application.EnableEvents = True
End Sub
Questo commento è stato fatto dal moderatore sul sito
Ciao Gelù,
Intendi impedire che l'intervallo "A1: M7000" venga eliminato in tutti i fogli di lavoro della cartella di lavoro corrente?
Questo commento è stato fatto dal moderatore sul sito
No, intendevo NON consentire la cancellazione (senza proteggere i wks o wkb).

È bello che sopra funzioni a livello di Wks.

Se c'è qualcosa per farlo funzionare a livello di wkb sarebbe ancora meglio (ho molti fogli)

G
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL