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

Hogyan lehet letiltani a vágási, másolási és beillesztési funkciókat az Excelben?

Tegyük fel, hogy van egy munkafüzete fontos adatokkal, amelyeket meg kell védenie a kivágás, másolás és beillesztés ellen. Hogyan lehet elérni? Ez a cikk egy VBA-módszert ismertet a vágási, másolási és beillesztési funkciók egyidejű letiltására az Excel munkafüzetében.

Tiltsa le a VBA kóddal a kivágás, másolás és beillesztés funkciókat


Tiltsa le a VBA kóddal a kivágás, másolás és beillesztés funkciókat

Kérjük, tegye a következőket az Excel munkafüzet kivágási, másolási és beillesztési funkcióinak letiltásához.

1. A munkafüzetben le kell tiltania a kivágás, másolás és beillesztés funkciókat, nyomja meg a gombot más + F11 gombok egyszerre a Microsoft Visual Basic for Applications ablak.

2. Ban,-ben Microsoft Visual Basic for Applications ablak, kattintson duplán Ez a munkafüzet balra NetPoulSafe projekt ablaktáblán, majd másolja és illessze be az alábbi VBA kódot a Ez a munkafüzet (kód) ablak. Lásd a képernyőképet:

VBA-kód: Tiltsa le egyszerre a kivágás, másolás és beillesztés funkciókat az Excelben

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. Ezután kérjük nyomja meg a gombot más + Q gombokkal lépjen ki a Microsoft Visual Basic for Applications ablak.

Most nem vághatja ki vagy másolhatja le az adatokat erről a munkafüzetről, miközben más lapokról vagy munkafüzetekről másolt adatokat nem lehet beilleszteni ebbe a munkafüzetbe.

Megjegyzések: A drag and drop funkció szintén le van tiltva a fenti VBA kód futtatása után.


Kapcsolódó cikkek:


A legjobb irodai termelékenységi eszközök

A Kutools for Excel megoldja a legtöbb problémát, és 80% -kal növeli a termelékenységet

  • újrafelhasználás: Gyorsan helyezze be összetett képletek, diagramok és bármi, amit korábban használt; Cellák titkosítása jelszóval; Levelezőlista létrehozása és e-maileket küldeni ...
  • Szuper Formula Bár (könnyedén szerkeszthet több szöveget és képletet); Olvasás elrendezés (könnyen olvasható és szerkeszthető nagyszámú cella); Beillesztés a Szűrt tartományba...
  • Cellák / sorok / oszlopok egyesítése az adatok elvesztése nélkül; Osztott cellák tartalma; Kombinálja a duplikált sorokat / oszlopokat... megakadályozza az ismétlődő cellákat; Hasonlítsa össze a tartományokat...
  • Válassza a Másolat vagy az Egyedi lehetőséget Sorok; Válassza az Üres sorok lehetőséget (az összes cella üres); Super Find és Fuzzy Find sok munkafüzetben; Véletlenszerű kiválasztás ...
  • Pontos másolás Több cella a képletreferencia megváltoztatása nélkül; Automatikus referenciák létrehozása több lapra; Helyezze be a golyókat, Jelölőnégyzetek és még sok más ...
  • Kivonat szöveg, Szöveg hozzáadása, Eltávolítás pozíció szerint, Hely eltávolítása; Hozz létre és nyomtasson személyhívó részösszegeket; Konvertálás a cellatartalom és a megjegyzések között...
  • Szuper szűrő (mentse el és alkalmazza a szűrősémákat más lapokra); Haladó rendezés hónap / hét / nap, gyakoriság és egyebek szerint; Speciális szűrő félkövér, dőlt betűvel ...
  • Kombinálja a munkafüzeteket és a munkalapokat; Táblázatok egyesítése kulcsoszlopok alapján; Az adatok felosztása több lapra; Kötegelt konvertálás xls, xlsx és PDF...
  • Több mint 300 hatékony funkció. Támogatja az Office / Excel 2007-2021 és 365 verziókat. Minden nyelvet támogat. Könnyű üzembe helyezés vállalatában vagy szervezetében. Teljes funkciók 30 napos ingyenes próbaverzió. 60 napos pénzvisszafizetési garancia.
kte lap 201905

Az Office fül a füles felületet hozza az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
officetab alja
A megjegyzések rendezése szerint
Hozzászólások (50)
Még nincs értékelés. Legyen Ön az első, aki értékel!
A weboldal moderátora ezt a megjegyzést minimalizálta
a fentiek szerint csinálom, de a másolás kivágása és a múlt funkció le van tiltva minden megnyitott Excel fájlban. Miért?
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia, ezt a "kivágás" elrejtésére használtam a felhasználók elől, és remekül működik, hacsak nincs táblázatod, a "Kivágás" csodálatos módon újra megjelenik, amikor kiválasztasz egy cellát a táblázatban, pontosan ezt próbálom elkerülni. bármilyen ötletet? Kösz!
A weboldal moderátora ezt a megjegyzést minimalizálta
Köszönöm Uram, hogy működik. De az egész munkafüzetben. Ha szükségem van erre a kódra, csak egy adott lapra van szükségem. Lehetséges?
A weboldal moderátora ezt a megjegyzést minimalizálta
megtaláltad a választ?
A weboldal moderátora ezt a megjegyzést minimalizálta
Nagyon köszönöm. Az egész munkafüzetben működik. A kódolást csak 1 lapra tudjuk megcsinálni.Kérem segítsen .
A weboldal moderátora ezt a megjegyzést minimalizálta
Hogyan lehet engedélyezni a kivágás, másolás és visszaillesztés funkciót? Kérlek, adj tanácsot!
A weboldal moderátora ezt a megjegyzést minimalizálta
Kedves Sky
Kérjük, futtassa az alábbi VBA1-et (helyezze el a kódot a ThisWorkbook modulba) a kivágás, másolás és beillesztés funkció letiltásához a munkafüzetben.

VBA1:
Sub DelCopy()
Alkalmazással
.OnKey "^x", ""
.OnKey "^c", ""
.CommandBars("Cell").Controls(1).Enabled = False
.CommandBars("Cell").Controls(2).Enabled = False
Vége
End Sub

És futtassa a VBA2-t, hogy visszaállítsa ezeket a funkciókat a munkafüzetébe.

VBA2:
Sub RecoverCopy()
Alkalmazással
.OnKey "^x"
.OnKey "^c"
.CommandBars("Cell").Controls(1).Enabled = True
.CommandBars("Cell").Controls(2).Enabled = True
Vége
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Úgy tűnik, ez nekem nem működött – töröljem az eredeti VBA-kódot, majd illesszem be a fentieket, hogy újra engedélyezzem a Kivágás, másolás és beillesztés funkciót?
A weboldal moderátora ezt a megjegyzést minimalizálta
Good Day,
A fenti VBA1in megjegyzés az eredeti kód cseréje.
A weboldal moderátora ezt a megjegyzést minimalizálta
Kedves,

szeretném letiltani a kivágást, másolást, beillesztést excel 2007 lapban
megosztanád ehhez a kódot
A weboldal moderátora ezt a megjegyzést minimalizálta
Good Day,
Köszönjük észrevételét. Próbálom kitalálni a megoldást az Excel 2007-hez. Kérjük, várjon türelmesen.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia,
Lehetséges-e csak a "CUT" letiltása? de továbbra is használhatom a Másolás és beillesztés funkciót?
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Carmelo,
Kérjük, másolja ki és illessze be az alábbi kódot a munkafüzet Munkafüzet kódablakába, majd mentse el Excel-makró-kompatibilis munkafüzetként. Ekkor a „Vágás” funkció letiltásra kerül.

Explicit lehetőség
Privát Events Cmbrs As CommandBars

Private Sub Workbook_Open ()
Állítsa be a Cmbrs = Application.CommandBars
End Sub

Private Sub Workbook_Activate ()
Ha Application.CutCopyMode = 2 Akkor
Application.CutCopyMode = 0
Ha véget
End Sub

Privát Sub Cmbrs_OnUpdate()
If Me Is ActiveWorkbook Akkor
Ha Application.CutCopyMode = 2 Akkor
Application.CutCopyMode = 0
MsgBox "Vágási műveletek letiltva"
Ha véget
Ha véget
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Megpróbáltam, ahogy mondtad, de nem történt semmi. Egy pontosan ugyanazt szeretné, csak a
A "Vágás" funkció le van tiltva. Le kell tiltanom a "kivágás" opciót a jobb gombbal és az eszköztárról.
Lehetséges kristály??
A weboldal moderátora ezt a megjegyzést minimalizálta
Jó napot,
A kód jól működik az én esetemben. Megtudhatom az Office verzióját?
A weboldal moderátora ezt a megjegyzést minimalizálta
Hi

Kezdő vagyok a VBA kódokkal, és ez a kód megoldotta a problémáim 99%-át.

Lehetséges-e lezárni a lyuklapot (mint ez a kód adag), de még mindig van egy cella feloldva?
(Tisztázza, a lyuklapon csak egy cellában szeretném engedélyezni az infó múltbeli másolását).

Üdvözlettel:
L
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Linda,
A problémát VBA kód használata nélkül is megoldhatja.
Kattintson a jobb gombbal a cellára, és a helyi menüben válassza a Cellák formázása parancsot, majd törölje a jelölést a párbeszédpanel Védelem lapján található Zárolt négyzetből. Ezután védje jelszóval a munkalapot.
A weboldal moderátora ezt a megjegyzést minimalizálta
Nagyon örültem, hogy megtaláltam ezt a bejegyzést, de szükségem van egy kis segítségre, hogy ezt egy több munkalapból álló munkafüzet egyetlen munkalapjára korlátozzam. És tudnunk kell, hogyan kell ezt felhasználói beavatkozás nélkül végrehajtani… ez a lehető leggyorsabban szükséges egy munkafüzetben, hogy megelőzzük a hibákat.
A weboldal moderátora ezt a megjegyzést minimalizálta
Jó napot,
A következő VBA-kód segíthet a probléma megoldásában. És ne felejtse el lecserélni a „Sheet2” szót a kódban a munkalap nevére.

Nyilvános mJWSName karakterláncként

Private Sub Workbook_Open ()
mJWSName = "Lap2"
End Sub

Private Sub Workbook_Activate ()
Ha ActiveSheet.Name = mJWSName Akkor
Application.CutCopyMode = Hamis
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
Ha véget
End Sub

Private Sub Workbook_Deactivate ()
Application.OnKey "^c", ""
Application.CellDragAndDrop = Igaz
Application.CutCopyMode = Hamis
End Sub


Private Sub Workbook_WindowActivate (ByVal Wn mint ablak)
Ha ActiveSheet.Name = mJWSName Akkor
Application.CutCopyMode = Hamis
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
Ha véget
End Sub

Private Sub Workbook_WindowDeactivate (ByVal Wn, mint ablak)
Application.OnKey "^c"
Application.CellDragAndDrop = Igaz
Application.CutCopyMode = Hamis
End Sub

Private Sub Workbook_SheetSelectionChange (ByVal Sh mint objektum, ByVal Target mint tartomány)
On Error Resume Next
Ha Sh.Name = mJWSName Akkor
Application.CutCopyMode = Hamis
Ha véget
End Sub

Private Sub Workbook_SheetActivate (ByVal Sh mint objektum)
On Error Resume Next
Ha Sh.Name = mJWSName Akkor
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
Application.CutCopyMode = Hamis
Ha véget
End Sub

Private Sub Workbook_SheetDeactivate (ByVal Sh mint objektum)
Application.OnKey "^c"
Application.CellDragAndDrop = Igaz
Application.CutCopyMode = Hamis
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Még egy utolsó kérdés: Hová kerül ez a kód, és hogyan hajtható végre? A projekt, amellyel dolgoznia kell, egy XLA-fájlt csatol az Excel-laphoz, amely a kód nagy részét tartalmazza. Nem tudtam, hogy ennek egy modulba kell-e bekerülnie, vagy a lap mögötti kódba. Kösz...
A weboldal moderátora ezt a megjegyzést minimalizálta
Köszönöm az iránymutatást. Próbálkozom az Office 2013-ban, de semmi sem változott.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia, a kód jól működik, köszönöm.
A csak olvasható opció azonban engedélyezve volt. (ha nem akarod módosítani). Ha beállítom a ..Fájl, mentés másként, eszközök, általános opciók, csak olvasásra ajánlott.. akkor nem működik a kód.

Előre is köszönöm.
A weboldal moderátora ezt a megjegyzést minimalizálta
Tényleg jól működik, köszönöm szépen.
A weboldal moderátora ezt a megjegyzést minimalizálta
Köszi tökéletesen működik ....csak tartományon alkalmazható valahogy?
A weboldal moderátora ezt a megjegyzést minimalizálta
Jó napot,
Sajnos ebben nem tudok segíteni. Üdvözöljük, ha bármilyen kérdést feltehet fórumunkon: https://www.extendoffice.com/forum.html. Köszönjük észrevételét.
A weboldal moderátora ezt a megjegyzést minimalizálta
KÖSZÖNÖM, URAM
A weboldal moderátora ezt a megjegyzést minimalizálta
Köszönöm, nagyon hasznos.
A weboldal moderátora ezt a megjegyzést minimalizálta
kivágás másolás beillesztés alkalmazható Teljes munkafüzet. Ha szükségem van erre a kódra, csak egy adott lapra van szükségem. Lehetséges?
kérem, segítsen. csak egy lap letiltási funkcióra van szükségünk. egy másik lapon minden funkciót dolgozunk...
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez a kód nem működik az Excel 2016-ban egyetlen munkalapon sem az egész munkafüzet helyett
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez továbbra is lehetővé teszi a beillesztést a Jegyzettömbből vagy a Microsoft Edge-ből. Kérjük, nézze meg, van-e mód arra, hogy megakadályozza a beillesztést bármilyen forrásból.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia,
Ha bármilyen forrásból megakadályozza a beillesztést, meg kell akadályoznunk a Jegyzettömb funkciót, ami kellemetlenséget okozhat. Ezt nem ajánljuk. Sajnos ebben nem tudok segíteni.
A weboldal moderátora ezt a megjegyzést minimalizálta
Használtam ezt a kódot, és szeretném újra engedélyezni? hogyan lehet újra engedélyezni?
A weboldal moderátora ezt a megjegyzést minimalizálta
használja ezt a kódot a kivágás és beillesztés letiltásához



Private Sub Workbook_Activate ()

Application.CutCopyMode = Hamis

Application.OnKey "^c", ""

Application.CellDragAndDrop = False

End Sub



Private Sub Workbook_Deactivate ()

Application.CellDragAndDrop = Igaz

Application.OnKey "^c"

Application.CutCopyMode = Hamis

End Sub



Private Sub Workbook_WindowActivate (ByVal Wn mint ablak)

Application.CutCopyMode = Hamis

Application.OnKey "^c", ""

Application.CellDragAndDrop = False

End Sub



Private Sub Workbook_WindowDeactivate (ByVal Wn, mint ablak)

Application.CellDragAndDrop = Igaz

Application.OnKey "^c"

Application.CutCopyMode = Hamis

End Sub



Private Sub Workbook_SheetSelectionChange (ByVal Sh mint objektum, ByVal Target mint tartomány)

Application.CutCopyMode = Hamis

End Sub



Private Sub Workbook_SheetActivate (ByVal Sh mint objektum)

Application.OnKey "^c", ""

Application.CellDragAndDrop = False

Application.CutCopyMode = Hamis

End Sub



Private Sub Workbook_SheetDeactivate (ByVal Sh mint objektum)

Application.CutCopyMode = Hamis

End Sub





és szeretné újra engedélyezni ezeket a funkciókat
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez remekül működik, hogyan lehetne ezt módosítani, hogy lehetővé tegye a másolást/beillesztést bizonyos oszlopokba, amelyekben a legördülő menük az elfogadható beviteli tartományokhoz vannak kötve, és csak az elfogadható bemenethez vannak kötve. Például egy Jetson, George, 25 éves név lehetővé tenné a Jetson, George, 25 éves másolását/beillesztését, de nem engedélyezné a Jeston, George, 26 nevet. Vagy a húzással és kitöltéssel, ami a Jetson, George, 25, majd 26 éves nevet eredményezné. , majd 27 stb.
A munkalapomon szeretném teljesen letiltani a kivágást/másolást/beillesztést bizonyos oszlopokban, majd csak az elfogadható adatok kivágását/másolását szeretném engedélyezni a legördülő menükből.
Köszönöm.
Még senki sem írt megjegyzést
Több ingatlan
Hagyja meg észrevételeit
Feladás vendégként
×
Értékeld ezt a bejegyzést:
0   Karakterek
Javasolt helyek

Kövess minket

Copyright © 2009 - www.extendoffice.com. | Minden jog fenntartva. Powered by ExtendOffice. | Oldaltérkép
A Microsoft és az Office logó a Microsoft Corporation védjegyei vagy bejegyzett védjegyei az Egyesült Államokban és / vagy más országokban.
Sectigo SSL védi