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

Hur inaktiverar du klipp, kopiera och klistra in funktioner i Excel?

Antag att du har en arbetsbok med viktiga data som du behöver skydda från att klippas, kopieras och klistras in. Hur uppnår man det? Den här artikeln innehåller en VBA-metod för att inaktivera klipp, kopiera och klistra in funktioner samtidigt i en Excel-arbetsbok.

Inaktivera klipp, kopiera och klistra in funktioner med VBA-kod


Inaktivera klipp, kopiera och klistra in funktioner med VBA-kod

Gör så här för att inaktivera funktionerna för klippning, kopiering och klistra in i en Excel-arbetsbok.

1. I arbetsboken måste du inaktivera funktionerna för klippning, kopiering och klistra, tryck på andra + F11 samtidigt för att öppna Microsoft Visual Basic för applikationer fönster.

2. I Microsoft Visual Basic för applikationer dubbelklicka Denna arbetsbok till vänster Projekt och sedan kopiera och klistra in nedanstående VBA-kod i Denna arbetsbok (kod) fönster. Se skärmdump:

VBA-kod: Inaktivera klippa, kopiera och klistra in funktioner samtidigt i 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. Tryck sedan på andra + Q för att avsluta Microsoft Visual Basic för applikationer fönster.

Nu kan du inte klippa ut eller kopiera data från den här arbetsboken, men data som du har kopierat från andra ark eller arbetsböcker kan inte klistras in i den här arbetsboken.

Anmärkningar: Dra och släpp-funktionen är också inaktiverad efter att ha kört ovanstående VBA-kod.


Relaterade artiklar:


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (50)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Jag gör som ovan men funktionen för klippa kopia och förbi inaktiverad i alla Excel-filer som jag öppnar. Varför?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, jag använde detta för att dölja "Klipp ut" för användare och det fungerar utmärkt om du inte har en tabell, "Klipp" dyker mirakulöst upp igen när du väljer en cell i tabellen, precis vad jag försöker undvika. några idéer? tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Tack u Sir det fungerar. Men i hela arbetsboken. Om jag behöver den här koden är det bara ett särskilt ark. Är det möjligt??
Denna kommentar minimerades av moderatoren på webbplatsen
har du hittat ett svar?
Denna kommentar minimerades av moderatoren på webbplatsen
Tack så mycket. Det fungerar i hela arbetsboken. Kan vi koda endast för 1 ark. Snälla hjälp.
Denna kommentar minimerades av moderatoren på webbplatsen
Hur aktiverar man klipp, kopiera och klistra tillbaka funktionen? Snälla tips!
Denna kommentar minimerades av moderatoren på webbplatsen
Kära Sky
Kör nedanstående VBA1 (placera koden i ThisWorkbook-modulen) för att inaktivera klipp, kopiera och klistra in funktionen i din arbetsbok.

VBA1:
Sub DelCopy()
Med Application
.OnKey "^x", ""
.OnKey "^c", ""
.CommandBars("Cell").Controls(1).Enabled = False
.CommandBars("Cell").Controls(2).Enabled = False
Sluta med
End Sub

Och kör VBA2 för att aktivera alla dessa funktioner tillbaka till din arbetsbok.

VBA2:
Sub RecoverCopy()
Med Application
.OnKey "^x"
.OnKey "^c"
.CommandBars("Cell").Controls(1).Enabled = True
.CommandBars("Cell").Controls(2).Enabled = True
Sluta med
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Detta verkar inte ha fungerat för mig - ska jag ta bort den ursprungliga VBA-koden och sedan klistra in ovanstående för att aktivera funktionen Klipp ut, kopiera och klistra in igen?
Denna kommentar minimerades av moderatoren på webbplatsen
God dag,
VBA1in-kommentaren ovan ersätter den ursprungliga koden.
Denna kommentar minimerades av moderatoren på webbplatsen
Kära,

Jag vill inaktivera klipp ut, kopiera, klistra in i Excel 2007-ark
kan du dela kod för detta
Denna kommentar minimerades av moderatoren på webbplatsen
God dag,
Tack för din kommentar. Jag försöker komma på lösningen för Excel 2007. Vänta tålmodigt.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej,
Är det möjligt att endast inaktivera "CUT"? men jag kan fortfarande använda kopiera och klistra in?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Carmelo,
Kopiera och klistra in koden nedan i arbetsbokens kodfönster i din arbetsbok och spara den sedan som en Excel-makroaktiverad arbetsbok. Då kommer "Klipp"-funktionen att inaktiveras.

Explicit alternativ
Privat Med Events Cmbrs Som kommandofält

Privat Sub Workbook_Open ()
Ställ in Cmbrs = Application.CommandBars
End Sub

Privat Sub Workbook_Activate ()
Om Application.CutCopyMode = 2 Då
Application.CutCopyMode = 0
End If
End Sub

Private Sub Cmbrs_OnUpdate()
If Me Is ActiveWorkbook Då
Om Application.CutCopyMode = 2 Då
Application.CutCopyMode = 0
MsgBox "Cut Operations disabled"
End If
End If
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Jag försökte precis som du sa men ingenting hände. En vill exakt samma, Endast den
"Klipp"-funktionen inaktiverad. Jag måste inaktivera alternativet "klipp" från högerklicksknappen och från verktygsfältet.
Är det möjlig kristall??
Denna kommentar minimerades av moderatoren på webbplatsen
God dag,
Koden fungerar bra i mitt fall. Får jag veta din Office-version?
Denna kommentar minimerades av moderatoren på webbplatsen
Hi

Jag är en nybörjare av VBA-koder och den här koden löste 99% av mina problem.

Är det möjligt att låsa hålplåten (som denna koddos) men ändå ha en cell olåst?
(Förtydliga, jag skulle vilja tillåta kopiering förbi i info i endast en cell i hålarket).

Med vänliga hälsningar
L
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Linda,
Du kan lösa problemet utan att använda VBA-kod.
Högerklicka på cellen och välj Formatera celler från snabbmenyn, avmarkera rutan Låst under fliken Skydd i dialogrutan. Och skydda sedan kalkylbladet med lösenord.
Denna kommentar minimerades av moderatoren på webbplatsen
Blev superglad över att hitta det här inlägget men jag behöver lite hjälp med att begränsa detta till ett enda kalkylblad i en arbetsbok med flera kalkylblad. Och behöver veta hur man kör detta utan användaringripande...vi behöver detta ASAP på en arbetsbok för att förhindra fel.
Denna kommentar minimerades av moderatoren på webbplatsen
God dag,
Följande VBA-kod kan hjälpa dig att lösa problemet. Och glöm inte att ersätta "Sheet2" i koden med ditt arknamn.

Offentligt mJWSName som sträng

Privat Sub Workbook_Open ()
mJWSName = "Sheet2"
End Sub

Privat Sub Workbook_Activate ()
Om ActiveSheet.Name = mJWSName Då
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = Falskt
End If
End Sub

Privat underarbetsbok_Deaktivera ()
Application.OnKey "^c", ""
Application.CellDragAndDrop = Sant
Application.CutCopyMode = False
End Sub


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

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

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

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

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Application.OnKey "^c"
Application.CellDragAndDrop = Sant
Application.CutCopyMode = False
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
En sista fråga - Vart tar den här koden vägen och hur körs den? Projektet detta behöver arbeta med bifogar en XLA-fil till Excel-arket som innehåller mycket av koden. Visste inte om detta måste gå in i en modul eller koden bakom detta ark. Tack...
Denna kommentar minimerades av moderatoren på webbplatsen
Tack för din vägledning. Jag försöker i office 2013, men ingenting förändrades.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, koden fungerar bra tack.
Men alternativet skrivskyddat var aktiverat. (om du inte vill ändra). Om jag ställer in ..Arkiv, spara som, verktyg, allmänna alternativ, skrivskyddad rekommenderad.. då fungerar inte koden.

Tack på förhand.
Denna kommentar minimerades av moderatoren på webbplatsen
Det fungerar verkligen bra, tack så mycket.
Denna kommentar minimerades av moderatoren på webbplatsen
Tack det fungerar perfekt ....kan det appliceras på ett sortiment bara på något sätt?
Denna kommentar minimerades av moderatoren på webbplatsen
God dag,
Jag kan tyvärr inte hjälpa dig med det. Välkommen att ställa alla frågor i vårt forum: https://www.extendoffice.com/forum.html. Tack för din kommentar.
Denna kommentar minimerades av moderatoren på webbplatsen
TACK HERRN
Denna kommentar minimerades av moderatoren på webbplatsen
Tack, mycket användbart.
Denna kommentar minimerades av moderatoren på webbplatsen
klippa kopiera klistra tillämplig Hela arbetsboken. Om jag behöver den här koden är det bara ett särskilt ark. Är det möjligt??
snälla hjälp. vi behöver bara ett blad avaktivera funktioner. ett annat ark vi arbetar med alla funktioner...
Denna kommentar minimerades av moderatoren på webbplatsen
Den koden fungerar inte i mitt excel 2016 för ett enda ark istället för hela arbetsboken
Denna kommentar minimerades av moderatoren på webbplatsen
Detta tillåter fortfarande inklistring från Notepad eller Microsoft Edge. Se om det finns ett sätt att förhindra inklistring från någon källa.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej,
Om du förhindrar inklistring från någon källa måste vi förhindra anteckningsblocksfunktionen, vilket kan medföra besvär. Vi rekommenderar inte detta. Jag kan tyvärr inte hjälpa dig för det.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag använde den här koden och vill återaktivera igen? hur återaktiverar man det?
Denna kommentar minimerades av moderatoren på webbplatsen
använd den här koden för att inaktivera kopiera klipp och klistra



Privat Sub Workbook_Activate ()

Application.CutCopyMode = False

Application.OnKey "^c", ""

Application.CellDragAndDrop = Falskt

End Sub



Privat underarbetsbok_Deaktivera ()

Application.CellDragAndDrop = Sant

Application.OnKey "^c"

Application.CutCopyMode = False

End Sub



Private Sub Workbook_WindowActivate(ByVal Wn As Window)

Application.CutCopyMode = False

Application.OnKey "^c", ""

Application.CellDragAndDrop = Falskt

End Sub



Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)

Application.CellDragAndDrop = Sant

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

Application.CutCopyMode = False

End Sub



Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)

Application.CutCopyMode = False

End Sub





och vill aktivera dessa funktioner igen
Denna kommentar minimerades av moderatoren på webbplatsen
Det här fungerar utmärkt, hur skulle man ändra detta för att tillåta kopiera/klistra in i specifika kolumner som har rullgardinsmenyer kopplade till namngivna intervall av acceptabel inmatning och endast den acceptabla inmatningen. Till exempel skulle ett namn som är Jetson, George, 25, tillåta en kopiering/klistra in av Jetson, George, 25 men skulle inte tillåta Jeston, George, 26. Eller en drag och fyllning som skulle resultera i Jetson, George, 25 sedan 26 , sedan 27 osv.
I mitt kalkylblad vill jag helt inaktivera klippa/kopiera/klistra in i vissa kolumner, sedan bara tillåta klipp och klistra in av acceptabla data från rullgardinsmenyn.
Tack.
Det finns inga kommentarer här ännu
Ladda fler
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL