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

Jak zakázat funkce vyjmutí, kopírování a vložení v aplikaci Excel?

Předpokládejme, že máte sešit s důležitými daty, která musíte chránit před vyjmutím, kopírováním a vložením. Jak toho dosáhnout? Tento článek poskytuje metodu VBA, pomocí které můžete v sešitu aplikace Excel současně deaktivovat funkce vyjmutí, kopírování a vložení.

Zakažte funkce vyjmutí, kopírování a vložení pomocí kódu VBA


Zakažte funkce vyjmutí, kopírování a vložení pomocí kódu VBA

Chcete-li deaktivovat funkce vyjmutí, kopírování a vložení v sešitu aplikace Excel, postupujte následovně.

1. V sešitu musíte deaktivovat funkce vyjmutí, kopírování a vložení, stiskněte klávesu Další + F11 současně otevřete Microsoft Visual Basic pro aplikace okno.

2. V Microsoft Visual Basic pro aplikace v okně, poklepejte prosím Tato pracovní kniha vlevo Projekt panelu a poté zkopírujte a vložte níže uvedený kód VBA do souboru Tento sešit (kód) okno. Viz snímek obrazovky:

Kód VBA: Deaktivujte současně funkce vyjmutí, kopírování a vložení v aplikaci 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. Poté stiskněte tlačítko Další + Q klávesy pro opuštění Microsoft Visual Basic pro aplikace okno.

Nyní nemůžete vyjmout ani zkopírovat data z tohoto sešitu, zatím do něj nelze vložit data zkopírovaná z jiných listů nebo sešitů.

Poznámka: Funkce drag and drop je také deaktivována po spuštění výše uvedeného kódu VBA.


Související články:


Nejlepší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2021 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Plné funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
officetab dno
Komentáře (50)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Dělám to, co je uvedeno výše, ale funkce vyjmutí kopie a minulosti zakázána v jakémkoli souboru aplikace Excel, který otevřu. Proč?
Tento komentář byl moderátorem webu minimalizován
Ahoj, použil jsem to ke skrytí "Vyjmout" před uživateli a funguje to skvěle, pokud nemáte tabulku, "Vyjmout" se zázračně znovu objeví, když vyberete buňku v tabulce, přesně to, čemu se snažím vyhnout. nějaké nápady? dík!
Tento komentář byl moderátorem webu minimalizován
Díky u pane jeho pracovní. Ale v celém sešitu. Pokud potřebuji tento kód pouze i konkrétní list.Je to možné?
Tento komentář byl moderátorem webu minimalizován
našel jsi odpověď?
Tento komentář byl moderátorem webu minimalizován
Díky moc. Funguje v celém sešitu. Můžeme provést kódování pouze pro 1 list. Prosím o pomoc.
Tento komentář byl moderátorem webu minimalizován
Jak povolit funkci vyjmout, kopírovat a vložit zpět? Prosím o radu!
Tento komentář byl moderátorem webu minimalizován
Milá Sky
Spusťte níže uvedený VBA1 (umístěte kód do modulu ThisWorkbook), abyste zakázali funkci vyjmutí, kopírování a vkládání ve vašem sešitu.

VBA1:
Sub DelCopy()
S aplikací
.OnKey "^x", ""
.OnKey "^c", ""
.CommandBars("Cell").Controls(1).Enabled = False
.CommandBars("Cell").Controls(2).Enabled = False
Konec s
End Sub

A spusťte VBA2, abyste povolili všechny tyto funkce zpět do vašeho sešitu.

VBA2:
Sub RecoverCopy()
S aplikací
.OnKey "^x"
.OnKey "^c"
.CommandBars("Cell").Controls(1).Enabled = True
.CommandBars("Cell").Controls(2).Enabled = True
Konec s
End Sub
Tento komentář byl moderátorem webu minimalizován
Zdá se, že to pro mě nefungovalo - mám smazat původní kód VBA a poté vložit výše uvedené, abych znovu povolil funkci Vyjmout, zkopírovat a vložit?
Tento komentář byl moderátorem webu minimalizován
Dobrý den,
Výše uvedený komentář VBA1in je náhradou původního kódu.
Tento komentář byl moderátorem webu minimalizován
Milý,

Chci zakázat vyjmutí, kopírování a vkládání v listu aplikace Excel 2007
můžete pro to sdílet kód
Tento komentář byl moderátorem webu minimalizován
Dobrý den,
Děkuji za váš komentář. Snažím se přijít na řešení pro Excel 2007. Čekejte prosím trpělivě.
Tento komentář byl moderátorem webu minimalizován
Dobrý den,
Je možné deaktivovat pouze "CUT"? ale stále bych mohl použít funkci Kopírovat a vložit?
Tento komentář byl moderátorem webu minimalizován
Ahoj Carmelo,
Zkopírujte a vložte níže uvedený kód do okna Kód sešitu ve vašem sešitu a poté jej uložte jako sešit Excel s podporou maker. Poté bude funkce "Cut" deaktivována.

Možnost explicitní
Private WithEvents Cmbrs jako CommandBars

Soukromá podřízená sešit_Open ()
Nastavte Cmbrs = Application.CommandBars
End Sub

Private Sub Workbook_Activate ()
Pokud Application.CutCopyMode = 2 Potom
Application.CutCopyMode = 0
End If
End Sub

Private Sub Cmbrs_OnUpdate()
If Me Is ActiveWorkbook Then
Pokud Application.CutCopyMode = 2 Potom
Application.CutCopyMode = 0
MsgBox "Cut Operations zakázány"
End If
End If
End Sub
Tento komentář byl moderátorem webu minimalizován
Snažil jsem se, jak jsi řekl, ale nic se neděje. Chci přesně to samé, Pouze
Funkce "Cut" je zakázána. Potřebuji zakázat možnost "vyjmout" z možnosti tlačítka pravým tlačítkem a z panelu nástrojů.
Je možný krystal??
Tento komentář byl moderátorem webu minimalizován
Dobrý den,
Kód v mém případě funguje dobře. Mohu znát vaši verzi Office?
Tento komentář byl moderátorem webu minimalizován
Hi

Jsem začátečník s kódy VBA a tento kód vyřešil 99% mých problémů.

Je možné zamknout list s otvory (jako dávku tohoto kódu), ale stále mít jednu buňku odemčenou?
(Upřesněte, chtěl bych povolit kopírování minulosti v informacích pouze v jedné buňce v listu děr).

S pozdravem
L
Tento komentář byl moderátorem webu minimalizován
Ahoj Lindo,
Problém můžete vyřešit bez použití kódu VBA.
Klikněte pravým tlačítkem na buňku az kontextové nabídky vyberte Formát buněk, zrušte zaškrtnutí políčka Uzamčeno na kartě Ochrana v dialogovém okně. A pak chraňte list heslem.
Tento komentář byl moderátorem webu minimalizován
Byl jsem velmi rád, že jsem našel tento příspěvek, ale potřebuji trochu pomoci s omezením tohoto na jeden list v sešitu s více listy. A potřebujeme vědět, jak to provést bez zásahu uživatele...potřebujeme to ASAP v sešitu, abychom předešli chybám.
Tento komentář byl moderátorem webu minimalizován
Dobrý den,
Následující kód VBA vám může pomoci vyřešit problém. A nezapomeňte nahradit "Sheet2" v kódu názvem vašeho listu.

Veřejné jméno mJWS jako řetězec

Soukromá podřízená sešit_Open ()
mJWSName = "List2"
End Sub

Private Sub Workbook_Activate ()
If ActiveSheet.Name = mJWSName Then
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
End If
End Sub

Soukromý dílčí sešit_Deaktivovat ()
Application.OnKey "^c", ""
Application.CellDragAndDrop = Pravda
Application.CutCopyMode = False
End Sub


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

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

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
If Sh.Name = mJWSName Then
Application.CutCopyMode = False
End If
End Sub

Private Sub Workbook_SheetActivate (ByVal Sh As Object)
On Error Resume Next
If Sh.Name = mJWSName Then
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
Application.CutCopyMode = False
End If
End Sub

Private Sub Workbook_SheetDeactivate (ByVal Sh As Object)
Application.OnKey "^c"
Application.CellDragAndDrop = Pravda
Application.CutCopyMode = False
End Sub
Tento komentář byl moderátorem webu minimalizován
Poslední otázka - Kam tento kód jde a jak se provádí? Projekt, se kterým musí pracovat, připojí k listu aplikace Excel soubor XLA, který obsahuje velkou část kódu. Nevěděl jsem, jestli to musí jít do modulu nebo kódu za tímto listem. Dík...
Tento komentář byl moderátorem webu minimalizován
Děkuji za vaše nasměrování. Snažím se v kanceláři 2013, ale nic se nezměnilo.
Tento komentář byl moderátorem webu minimalizován
Dobrý den, kód funguje dobře, děkuji.
Byla však povolena možnost pouze pro čtení. (pokud nechcete upravovat). Pokud nastavím ..File, save as, tools, general options, read only doporučeno.. tak kód nefunguje.

Díky předem.
Tento komentář byl moderátorem webu minimalizován
Opravdu to funguje dobře, díky moc.
Tento komentář byl moderátorem webu minimalizován
Díky to funguje perfektně....dá se to aplikovat na rozsah jen nějak?
Tento komentář byl moderátorem webu minimalizován
Dobrý den,
S tím vám bohužel nepomůžu. Vítejte, pokud chcete na našem fóru zveřejnit jakýkoli dotaz: https://www.extendoffice.com/forum.html. Děkuji za váš komentář.
Tento komentář byl moderátorem webu minimalizován
DÍKY PANE
Tento komentář byl moderátorem webu minimalizován
Děkuji, velmi užitečné.
Tento komentář byl moderátorem webu minimalizován
vyjmout kopírovat vložit použitelné Celý sešit. Pokud potřebuji tento kód pouze i konkrétní list.Je to možné?
prosím pomozte. potřebujeme pouze jeden list deaktivace funkcí. další list pracujeme se všemi funkcemi...
Tento komentář byl moderátorem webu minimalizován
Tento kód nefunguje v mém excelu 2016 pro jeden list místo celého sešitu
Tento komentář byl moderátorem webu minimalizován
To stále umožňuje vkládání z Poznámkového bloku nebo Microsoft Edge. Zjistěte, zda existuje způsob, jak zabránit vkládání z jakéhokoli zdroje.
Tento komentář byl moderátorem webu minimalizován
Dobrý den,
Pokud zabráníme vkládání z jakéhokoli zdroje, musíme zabránit funkci Poznámkový blok, která může přinést nepříjemnosti. Toto nedoporučujeme. S tím vám bohužel nepomůžu.
Tento komentář byl moderátorem webu minimalizován
Použil jsem tento kód a chcete jej znovu povolit? jak to znovu povolit?
Tento komentář byl moderátorem webu minimalizován
pomocí tohoto kódu zakážete kopírování, vyjmutí a vložení



Private Sub Workbook_Activate ()

Application.CutCopyMode = False

Application.OnKey "^c", ""

Application.CellDragAndDrop = False

End Sub



Soukromý dílčí sešit_Deaktivovat ()

Application.CellDragAndDrop = Pravda

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 = Pravda

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





a chcete tyto funkce znovu povolit
Tento komentář byl moderátorem webu minimalizován
Funguje to skvěle, jak by se to dalo upravit tak, aby umožňovalo kopírování/vkládání do konkrétních sloupců, které mají rozbalovací nabídky svázané s pojmenovanými rozsahy přijatelného vstupu a pouze přijatelného vstupu. Například jméno, které je Jetson, George, 25, by umožnilo zkopírovat/vložit Jetson, George, 25, ale nedovolilo by to Jeston, George, 26. Nebo přetažení, které by vedlo k Jetsonovi, George, 25, pak 26 , pak 27 atd.
V mém pracovním listu chci zcela zakázat vyjmutí/kopírování/vkládání v určitých sloupcích a poté povolit pouze vyjmutí kopírování a vložení přijatelných dat z rozevíracích seznamů.
Děkuji.
Zatím zde nejsou žádné komentáře
Načíst další

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL