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

Kako onemogočiti funkcije rezanja, kopiranja in lepljenja v Excelu?

Recimo, da imate delovni zvezek s pomembnimi podatki, ki jih morate zaščititi pred rezanjem, kopiranjem in lepljenjem. Kako to doseči? Ta članek vsebuje metodo VBA, s katero lahko hkrati onemogočite funkcije izrezovanja, kopiranja in lepljenja v Excelovem delovnem zvezku.

Onemogočite funkcije izrezovanja, kopiranja in lepljenja s kodo VBA


Onemogočite funkcije izrezovanja, kopiranja in lepljenja s kodo VBA

Naredite naslednje, če želite onemogočiti funkcije rezanja, kopiranja in lepljenja v Excelovem delovnem zvezku.

1. V delovnem zvezku morate onemogočiti funkcije rezanja, kopiranja in lepljenja, pritisnite tipko druga + F11 tipke hkrati, da odprete Microsoft Visual Basic za aplikacije okno.

2. V Ljubljani Microsoft Visual Basic za aplikacije okno, prosimo, dvokliknite Ta delovni zvezek na levi Projekt in nato kopirajte in prilepite spodnjo kodo VBA v ThisWorkbook (koda) okno. Oglejte si posnetek zaslona:

Koda VBA: v Excelu hkrati onemogočite funkcije za izrezovanje, kopiranje in lepljenje

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. Nato pritisnite druga + Q tipke za izhod iz Microsoft Visual Basic za aplikacije okno.

Zdaj ne morete več izrezati ali kopirati podatkov iz tega delovnega zvezka, medtem ko podatkov, ki ste jih kopirali z drugih listov ali delovnih zvezkov, ni mogoče prilepiti v ta delovni zvezek.

Opombe: Funkcija povleci in spusti je onemogočena tudi po zagonu zgornje kode VBA.


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 (50)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
delam kot zgoraj, vendar je funkcija cut copy in past onemogočena v kateri koli datoteki excel, ki jo odprem .why?
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, to sem uporabil, da sem skril "Cut" pred uporabniki in deluje odlično, razen če imate tabelo, "Cut" se čudežno znova pojavi, ko izberete celico v tabeli, točno čemur se poskušam izogniti. kaj idej? hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Hvala u, gospod, deluje. Ampak v celotnem delovnem zvezku. Če potrebujem to kodo samo na določenem listu. Ali je to mogoče??
Ta komentar je moderator na spletnem mestu minimiziral
si našel odgovor?
Ta komentar je moderator na spletnem mestu minimiziral
Najlepša hvala. Deluje v celotnem delovnem zvezku. Ali lahko naredimo kodiranje samo za 1 list. Prosim za pomoč.
Ta komentar je moderator na spletnem mestu minimiziral
Kako omogočiti funkcijo rezanja, kopiranja in lepljenja nazaj? Prosim za nasvet!
Ta komentar je moderator na spletnem mestu minimiziral
Draga Sky
Zaženite spodnji VBA1 (postavite kodo v modul ThisWorkbook), da onemogočite funkcijo izrezovanja, kopiranja in lepljenja v delovnem zvezku.

VBA1:
Sub DelCopy()
Z aplikacijo
.OnKey "^x", ""
.OnKey "^c", ""
.CommandBars("Cell").Controls(1).Enabled = False
.CommandBars("Cell").Controls(2).Enabled = False
Končaj s
End Sub

In zaženite VBA2, da omogočite vse te funkcije nazaj v delovni zvezek.

VBA2:
Sub RecoverCopy()
Z aplikacijo
.OnKey "^x"
.OnKey "^c"
.CommandBars("Cell").Controls(1).Enabled = True
.CommandBars("Cell").Controls(2).Enabled = True
Končaj s
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Zdi se, da mi to ni uspelo – ali naj izbrišem izvirno kodo VBA in nato prilepim zgoraj navedeno, da ponovno omogočim funkcijo Cut, copy and paste?
Ta komentar je moderator na spletnem mestu minimiziral
Dober dan,
Zgornji komentar VBA1in je zamenjava izvirne kode.
Ta komentar je moderator na spletnem mestu minimiziral
Dragi,

želim onemogočiti izrezovanje, kopiranje, lepljenje na listu Excel 2007
ali lahko delite kodo za to
Ta komentar je moderator na spletnem mestu minimiziral
Dober dan,
Hvala za vaš komentar. Poskušam najti rešitev za Excel 2007. Počakajte potrpežljivo.
Ta komentar je moderator na spletnem mestu minimiziral
Hi,
Ali je mogoče onemogočiti samo "CUT"? vendar bi še vedno lahko uporabljal Copy and Paste?
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Carmelo,
Kopirajte in prilepite spodnjo kodo v okno kode delovnega zvezka v svojem delovnem zvezku in jo nato shranite kot delovni zvezek z omogočenimi makri v Excelu. Potem bo funkcija "Cut" onemogočena.

Option Explicit
Zasebne z dogodki Cmbrs kot ukazne vrstice

Zasebni delovni zvezek_Open()
Nastavite Cmbrs = Application.CommandBars
End Sub

Private Sub Workbook_Activate ()
Če je Application.CutCopyMode = 2 Potem
Application.CutCopyMode = 0
Konec Če
End Sub

Zasebna podpora Cmbrs_OnUpdate()
Če sem jaz ActiveWorkbook potem
Če je Application.CutCopyMode = 2 Potem
Application.CutCopyMode = 0
MsgBox "Operacije rezanja onemogočene"
Konec Če
Konec Če
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Poskušal sem tako kot si rekel, vendar se ni zgodilo nič. A hočejo popolnoma enako, samo
Funkcija "Cut" je onemogočena. Onemogočiti moram možnost "cut" iz možnosti gumba z desnim klikom in iz orodne vrstice.
Je možno kristalno??
Ta komentar je moderator na spletnem mestu minimiziral
Dober dan,
Koda v mojem primeru deluje dobro. Ali lahko poznam vašo različico Officea?
Ta komentar je moderator na spletnem mestu minimiziral
Hi

Sem začetnik kod VBA in ta koda je rešila 99% mojih težav.

Ali je mogoče zakleniti ponjavo (kot ta kodni odmerek), vendar je še vedno ena celica odklenjena?
(Pojasnite, rad bi dovolil kopiranje preteklih informacij v samo eni celici na listu lukenj).

Lep pozdrav
L
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljena Linda,
Težavo lahko rešite brez uporabe kode VBA.
Z desno tipko miške kliknite celico in v kontekstnem meniju izberite Oblikuj celice, počistite polje Zaklenjeno pod zavihkom Zaščita v pogovornem oknu. Nato delovni list zaščitite z geslom.
Ta komentar je moderator na spletnem mestu minimiziral
Zelo sem vesel, da sem našel to objavo, vendar potrebujem malo pomoči, da to omejim na en delovni list v delovnem zvezku z več delovnimi listi. In vedeti moramo, kako to izvesti brez posredovanja uporabnika ... to potrebujemo čim prej v delovnem zvezku, da preprečimo napake.
Ta komentar je moderator na spletnem mestu minimiziral
Dober dan,
Naslednja koda VBA vam lahko pomaga rešiti težavo. In ne pozabite zamenjati "Sheet2" v kodi z imenom lista.

Javno ime mJWSN kot niz

Zasebni delovni zvezek_Open()
mJWSName = "List2"
End Sub

Private Sub Workbook_Activate ()
Če je ActiveSheet.Name = mJWSName Potem
Application.CutCopyMode = Napačno
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
Konec Če
End Sub

Private Sub Workbook_Deactivate ()
Application.OnKey "^c", ""
Application.CellDragAndDrop = Res
Application.CutCopyMode = Napačno
End Sub


Zasebni delovni zvezek_WindowActivate(ByVal Wn kot okno)
Če je ActiveSheet.Name = mJWSName Potem
Application.CutCopyMode = Napačno
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
Konec Če
End Sub

Zasebni delovni zvezek_WindowDeactivate(ByVal Wn As Window)
Application.OnKey "^c"
Application.CellDragAndDrop = Res
Application.CutCopyMode = Napačno
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh kot objekt, ByVal Target kot obseg)
On Error Resume Next
Če Sh.Name = mJWSNName Potem
Application.CutCopyMode = Napačno
Konec Če
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh kot objekt)
On Error Resume Next
Če Sh.Name = mJWSNName Potem
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
Application.CutCopyMode = Napačno
Konec Če
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh kot predmet)
Application.OnKey "^c"
Application.CellDragAndDrop = Res
Application.CutCopyMode = Napačno
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Še zadnje vprašanje – Kam gre ta koda in kako se izvede? Projekt, s katerim mora delati, priloži datoteko XLA na Excelov list, ki vsebuje velik del kode. Nisem vedel, ali mora to iti v modul ali kodo za tem listom. hvala...
Ta komentar je moderator na spletnem mestu minimiziral
Hvala za vašo usmeritev. Poskušam v pisarni 2013, vendar se ni nič spremenilo.
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, koda deluje dobro, hvala.
Vendar je bila omogočena možnost samo za branje. (če ne želite spreminjati). Če nastavim ..Datoteka, shrani kot, orodja, splošne možnosti, priporočeno samo za branje.. potem koda ne deluje.

Hvala vnaprej.
Ta komentar je moderator na spletnem mestu minimiziral
Res dobro deluje, hvala lepa.
Ta komentar je moderator na spletnem mestu minimiziral
Hvala, deluje popolno .... ali ga je mogoče nanesti le na nek način?
Ta komentar je moderator na spletnem mestu minimiziral
Dober dan,
Žal ti pri tem ne morem pomagati. Dobrodošli, da objavite kakršno koli vprašanje na našem forumu: https://www.extendoffice.com/forum.html. Hvala za vaš komentar.
Ta komentar je moderator na spletnem mestu minimiziral
HVALA GOSPOD
Ta komentar je moderator na spletnem mestu minimiziral
Hvala, zelo koristno.
Ta komentar je moderator na spletnem mestu minimiziral
izreži kopiraj prilepi velja Celoten delovni zvezek. Če potrebujem to kodo samo na določenem listu. Ali je to mogoče??
prosim pomagajte. potrebujemo samo en list funkcij za onemogočanje. še en list delamo vse funkcije...
Ta komentar je moderator na spletnem mestu minimiziral
Ta koda ne deluje v mojem Excelu 2016 za en sam list namesto za celoten delovni zvezek
Ta komentar je moderator na spletnem mestu minimiziral
To še vedno omogoča lepljenje iz beležnice ali Microsoft Edge. Preverite, ali obstaja način, da preprečite lepljenje iz katerega koli vira.
Ta komentar je moderator na spletnem mestu minimiziral
Hi,
Če preprečimo lepljenje iz katerega koli vira, moramo preprečiti funkcijo beležnice, ki lahko povzroči neprijetnosti. Tega ne priporočamo. Žal ti pri tem ne morem pomagati.
Ta komentar je moderator na spletnem mestu minimiziral
Uporabil sem to kodo in želite znova omogočiti? kako ga ponovno omogočiti?
Ta komentar je moderator na spletnem mestu minimiziral
uporabite to kodo, da onemogočite kopiranje, izrežite in prilepite



Private Sub Workbook_Activate ()

Application.CutCopyMode = Napačno

Application.OnKey "^c", ""

Application.CellDragAndDrop = False

End Sub



Private Sub Workbook_Deactivate ()

Application.CellDragAndDrop = Res

Application.OnKey "^c"

Application.CutCopyMode = Napačno

End Sub



Zasebni delovni zvezek_WindowActivate(ByVal Wn kot okno)

Application.CutCopyMode = Napačno

Application.OnKey "^c", ""

Application.CellDragAndDrop = False

End Sub



Zasebni delovni zvezek_WindowDeactivate(ByVal Wn As Window)

Application.CellDragAndDrop = Res

Application.OnKey "^c"

Application.CutCopyMode = Napačno

End Sub



Private Sub Workbook_SheetSelectionChange(ByVal Sh kot objekt, ByVal Target kot obseg)

Application.CutCopyMode = Napačno

End Sub



Private Sub Workbook_SheetActivate(ByVal Sh kot objekt)

Application.OnKey "^c", ""

Application.CellDragAndDrop = False

Application.CutCopyMode = Napačno

End Sub



Private Sub Workbook_SheetDeactivate(ByVal Sh kot predmet)

Application.CutCopyMode = Napačno

End Sub





in želite ponovno omogočiti te funkcije
Ta komentar je moderator na spletnem mestu minimiziral
To deluje odlično, kako bi to spremenili, da bi omogočili kopiranje/lepljenje v določene stolpce, ki imajo spustne menije, povezane z imenovanimi obsegi sprejemljivega vnosa in samo sprejemljivim vnosom. Na primer ime, ki je Jetson, George, 25, bi omogočilo kopiranje/lepljenje Jetson, George, 25, vendar ne bi dovoljevalo Jeston, George, 26. Ali pa povleci in izpolni, kar bi povzročilo Jetson, George, 25 in nato 26 , nato 27 itd.
V svojem delovnem listu želim popolnoma onemogočiti izrezovanje/kopiranje/lepljenje v določene stolpce, nato pa dovoliti samo izrezano kopiranje in lepljenje sprejemljivih podatkov iz spustnih menijev.
Hvala.
Tu še ni objavljenih komentarjev
Obremenitev Več
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