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

Cum se dezactivează funcțiile de tăiere, copiere și lipire în Excel?

Presupunând că aveți un registru de lucru cu date importante pe care trebuie să le protejați împotriva tăierii, copierii și lipirii. Cum se realizează? Acest articol oferă o metodă VBA pentru a dezactiva funcțiile de tăiere, copiere și lipire în același timp într-un registru de lucru Excel.

Dezactivați funcțiile de tăiere, copiere și lipire cu codul VBA


Dezactivați funcțiile de tăiere, copiere și lipire cu codul VBA

Vă rugăm să procedați după cum urmează pentru a dezactiva funcțiile de tăiere, copiere și lipire dintr-un registru de lucru Excel.

1. În registrul de lucru trebuie să dezactivați funcțiile de tăiere, copiere și lipire, vă rugăm să apăsați pe Alt + F11 tastele simultan pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. În Microsoft Visual Basic pentru aplicații fereastra, vă rugăm să faceți dublu clic Acest manual de lucru in stanga Proiect , apoi copiați și lipiți codul VBA de mai jos în ThisWorkbook (Cod) fereastră. Vedeți captura de ecran:

Cod VBA: dezactivați funcțiile de tăiere, copiere și lipire în același timp în Excel

Private Sub Workbook_Activate()
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
End Sub

Private Sub Workbook_Deactivate()
Application.CellDragAndDrop = True
Application.OnKey "^c"
Application.CutCopyMode = False
End Sub

Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.CellDragAndDrop = True
Application.OnKey "^c"
Application.CutCopyMode = False
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.CutCopyMode = False
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
Application.CutCopyMode = False
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Application.CutCopyMode = False
End Sub

3. Apoi vă rugăm să apăsați pe Alt + Q tastele pentru a ieși din Microsoft Visual Basic pentru aplicații fereastră.

Acum nu puteți tăia sau copia date din acest registru de lucru, între timp, datele pe care le-ați copiat din alte foi sau registre de lucru nu pot fi lipite în acest registru de lucru.

notițe: Funcția de glisare și fixare este, de asemenea, dezactivată după executarea codului VBA de mai sus.


Articole pe aceeași temă:


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (50)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
fac ca mai sus, dar funcția de copiere și trecut este dezactivată în orice fișier Excel pe care îl deschid .de ce?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, am folosit asta pentru a ascunde „Tăiați” de utilizatori și funcționează grozav dacă nu aveți un Tabel, „Tăiați” reapare în mod miraculos când selectați o celulă din Tabel, exact ceea ce încerc să evit. vreo idee? Mulțumiri!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc, domnule, funcționează. Dar în întreg registrul de lucru. Dacă am nevoie de acest cod numai o foaie specială. Este posibil??
Acest comentariu a fost redus la minimum de moderatorul de pe site
ai gasit un raspuns?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc mult. Funcționează în întreaga carte de lucru. Putem face codarea doar pentru 1 coală. Vă rugăm să ajutați.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cum se activează funcția de tăiere, copiere și lipire înapoi? Va rog un sfat!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dragă Sky
Rulați VBA1 de mai jos (plasați codul în modulul ThisWorkbook) pentru a dezactiva funcția de tăiere, copiere și inserare în registrul de lucru.

VBA1:
Sub DelCopy()
Cu Aplicație
.OnKey „^x”, „”
.OnKey „^c”, „”
.CommandBars("Cell").Controls(1).Enabled = False
.CommandBars("Cell").Controls(2).Enabled = False
Se termina cu
End Sub

Și rulați VBA2 pentru a activa toate aceste funcții înapoi în registrul de lucru.

VBA2:
Sub RecoverCopy()
Cu Aplicație
.OnKey „^x”
.OnKey „^c”
.CommandBars("Cell").Controls(1).Enabled = True
.CommandBars("Cell").Controls(2).Enabled = True
Se termina cu
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Acest lucru nu pare să fi funcționat pentru mine - ar trebui să șterg codul VBA original și apoi să inserez cel de mai sus pentru a activa din nou funcția Cut, copy and paste?
Acest comentariu a fost redus la minimum de moderatorul de pe site
O zi buna,
Comentariul VBA1 din mai sus este înlocuirea codului original.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dragă,

Vreau să dezactivez tăierea, copierea, lipirea în foaia Excel 2007
poți partaja codul pentru asta
Acest comentariu a fost redus la minimum de moderatorul de pe site
O zi buna,
Multumesc pentru comentariu. Încerc să aflu soluția pentru Excel 2007. Vă rugăm să așteptați cu răbdare.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună,
Este posibil să dezactivați doar „CUT”? dar tot aș putea folosi funcția Copy and Paste?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut Carmelo,
Vă rugăm să copiați și să inserați codul de mai jos în fereastra Cod registru de lucru din registrul de lucru și apoi salvați-l ca registru de lucru cu macrocomandă Excel. Apoi funcția „Cut” va fi dezactivată.

Opțiune explicită
Private WithEvents Cmbrs ca CommandBars

Private Sub Workbook_Open()
Set Cmbrs = Application.CommandBars
End Sub

Private Sub Workbook_Activate ()
Dacă Application.CutCopyMode = 2 Atunci
Application.CutCopyMode = 0
Final, dacă
End Sub

Sub privat Cmbrs_OnUpdate()
Dacă eu sunt activWorkbook, atunci
Dacă Application.CutCopyMode = 2 Atunci
Application.CutCopyMode = 0
MsgBox „Operațiuni de tăiere dezactivate”
Final, dacă
Final, dacă
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am încercat exact cum ai spus tu dar nu sa întâmplat nimic. O dorință exact aceeași, Numai că
Funcția „Cut” este dezactivată. Trebuie să dezactivez opțiunea „tăiere” din opțiunea butonului Click dreapta și din bara de instrumente.
Este posibil un cristal??
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua,
Codul funcționează bine în cazul meu. Pot să știu versiunea dvs. de Office?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hi

Sunt începător cu codurile VBA și acest cod a rezolvat 99% din problemele mele.

Este posibil să blocați foaia de orificii (ca doza acestui cod), dar încă aveți o celulă deblocată?
(Clarificați, aș dori să permit copierea trecută în informații într-o singură celulă din foaia de găuri).

Cel mai bun în ceea ce priveşte
L
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut Linda,
Puteți rezolva problema fără a utiliza codul VBA.
Faceți clic dreapta pe celulă și selectați Formatare celule din meniul contextual, debifați caseta Blocat sub fila Protecție din caseta de dialog. Și apoi protejați foaia de lucru cu parolă.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am fost foarte bucuros să găsesc această postare, dar am nevoie de puțin ajutor pentru a limita aceasta la o singură foaie de lucru într-un registru de lucru cu mai multe foi. Și trebuie să știm cum să executăm acest lucru fără intervenția utilizatorului... avem nevoie de acest lucru cât mai curând posibil pe un registru de lucru pentru a ajuta la prevenirea erorilor.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua,
Următorul cod VBA vă poate ajuta să rezolvați problema. Și nu uitați să înlocuiți „Sheet2” în cod cu numele foii dvs.

Public mJWSName ca șir

Private Sub Workbook_Open()
mJWSName = „Sheet2”
End Sub

Private Sub Workbook_Activate ()
Dacă ActiveSheet.Name = mJWSName Atunci
Application.CutCopyMode = Fals
Application.OnKey „^c”, „”
Application.CellDragAndDrop = Fals
Final, dacă
End Sub

Private Sub Workbook_Deactivate ()
Application.OnKey „^c”, „”
Application.CellDragAndDrop = Adevărat
Application.CutCopyMode = Fals
End Sub


Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Dacă ActiveSheet.Name = mJWSName Atunci
Application.CutCopyMode = Fals
Application.OnKey „^c”, „”
Application.CellDragAndDrop = Fals
Final, dacă
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.OnKey „^c”
Application.CellDragAndDrop = Adevărat
Application.CutCopyMode = Fals
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh ca obiect, ByVal Target ca interval)
La data de eroare CV următoare
Dacă Sh.Name = mJWSName Atunci
Application.CutCopyMode = Fals
Final, dacă
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
La data de eroare CV următoare
Dacă Sh.Name = mJWSName Atunci
Application.OnKey „^c”, „”
Application.CellDragAndDrop = Fals
Application.CutCopyMode = Fals
Final, dacă
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Application.OnKey „^c”
Application.CellDragAndDrop = Adevărat
Application.CutCopyMode = Fals
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
O ultimă întrebare - Unde merge acest cod și cum se execută? Proiectul cu care trebuie să funcționeze atașează un fișier XLA la foaia Excel care conține o mare parte din cod. Nu știam dacă trebuie să intre într-un modul sau codul din spatele acestei foi. Mulțumiri...
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vă mulțumesc pentru direcția dumneavoastră. Încerc în birou 2013, dar nimic nu s-a schimbat.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, codul funcționează bine, mulțumesc.
Cu toate acestea, opțiunea numai pentru citire a fost activată. (dacă nu doriți să modificați). Dacă am setat ..Fișier, salvare ca, instrumente, opțiuni generale, numai citit recomandat.. atunci codul nu funcționează.

Mulțumesc în avans.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Chiar funcționează bine, mulțumesc mult.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc, funcționează perfect .... poate fi aplicat pe o gamă doar cumva?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua,
Îmi pare rău că nu te pot ajuta cu asta. Bine ați venit să postați orice întrebare pe forumul nostru: https://www.extendoffice.com/forum.html. Multumesc pentru comentariu.
Acest comentariu a fost redus la minimum de moderatorul de pe site
MULTUMESC DOMNULE
Acest comentariu a fost redus la minimum de moderatorul de pe site
Multumesc, foarte util.
Acest comentariu a fost redus la minimum de moderatorul de pe site
tăiați copiați lipiți aplicabil Întregul registru de lucru. Dacă am nevoie de acest cod numai o foaie specială. Este posibil??
te rog ajuta-ma. avem nevoie de o singură funcție de dezactivare a foii. altă foaie lucrăm toate funcțiile...
Acest comentariu a fost redus la minimum de moderatorul de pe site
Codul respectiv nu funcționează în Excel 2016 pentru o singură foaie în loc de întregul registru de lucru
Acest comentariu a fost redus la minimum de moderatorul de pe site
Acest lucru încă permite lipirea din Notepad sau Microsoft Edge. Vă rugăm să vedeți dacă există o modalitate de a preveni lipirea din orice sursă.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună,
Dacă împiedicăm lipirea din orice sursă, trebuie să prevenim funcția Notepad, care poate aduce neplăceri. Nu recomandăm acest lucru. Îmi pare rău că nu te pot ajuta pentru asta.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am folosit acest cod și vreau să-l reactivez din nou? cum să-l reactivezi?
Acest comentariu a fost redus la minimum de moderatorul de pe site
utilizați acest cod pentru a dezactiva copierea tăiere și lipire



Private Sub Workbook_Activate ()

Application.CutCopyMode = Fals

Application.OnKey „^c”, „”

Application.CellDragAndDrop = Fals

End Sub



Private Sub Workbook_Deactivate ()

Application.CellDragAndDrop = Adevărat

Application.OnKey „^c”

Application.CutCopyMode = Fals

End Sub



Private Sub Workbook_WindowActivate(ByVal Wn As Window)

Application.CutCopyMode = Fals

Application.OnKey „^c”, „”

Application.CellDragAndDrop = Fals

End Sub



Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)

Application.CellDragAndDrop = Adevărat

Application.OnKey „^c”

Application.CutCopyMode = Fals

End Sub



Private Sub Workbook_SheetSelectionChange(ByVal Sh ca obiect, ByVal Target ca interval)

Application.CutCopyMode = Fals

End Sub



Private Sub Workbook_SheetActivate(ByVal Sh As Object)

Application.OnKey „^c”, „”

Application.CellDragAndDrop = Fals

Application.CutCopyMode = Fals

End Sub



Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)

Application.CutCopyMode = Fals

End Sub





și doriți să activați din nou aceste funcții
Acest comentariu a fost redus la minimum de moderatorul de pe site
Acest lucru funcționează grozav, cum s-ar modifica acest lucru pentru a permite copierea/lipirea în anumite coloane care au meniuri derulante legate de intervale numite de intrare acceptabilă și numai de intrare acceptabilă. De exemplu, un nume care este Jetson, George, 25, ar permite o copiere/inserare a lui Jetson, George, 25, dar nu ar permite Jeston, George, 26. Sau o glisare și umplere care ar avea ca rezultat Jetson, George, 25 și apoi 26 , apoi 27 etc.
În foaia mea de lucru vreau să dezactivez complet tăierea/copierul/lipirea în anumite coloane, apoi să permit numai tăierea, copierea, lipirea datelor acceptabile din meniurile derulante.
Mulțumesc.
Nu există comentarii postate aici încă
Încărcați mai
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL