Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel - Copy & Paste deaktivieren

Excel - Copy & Paste deaktivieren
01.06.2021 14:09:28
Emil
Hallo zusammen,
ich bin seit langer Zeit "Mitleser" und konnte viele tolle Formeln / VBA Codes entdecken, welche mir immer sehr weitergeholfen haben.
Meine Excel Kenntnisse sind gut; meine VBA Kenntnisse sind eher bescheiden; ich schaffe es ggfs. noch einen Code für mich abzuändern; einen erstellen kann ich jedoch nicht.
Ich habe eine große Excel-Datei, welche von Teamkolleginnen und Kollegen befüllt werden muss; ich habe die Datenüberprüfung aktiviert, so dass nur bestimmte Eingabemöglichkeiten vorhanden sind; diese definierten "Antworten" werte ich automatisch über eine ZählenWenn Formel aus; mein Problem ist, dass Kolleginnen und Kollegen die Datenüberprüfung (bewusst oder unbewusst) umgehen indem sie Inhalte mittels Copy+Paste einfügen.
Ich habe seit Tagen das Internet durchsucht und mehrere VBA Codes gefunden, welche das kopieren und einfügen verhindern sollen; jedoch sind die gesamten Codes ohne Funktion; kopierter Text aus der Zwischenablage hat sich leider immer einfügen lassen.
ich finde den Fehler nicht....
Derzeit verwende ich nachstehenden Code (http://schmidt-net.de/files/30038.htm);
dieser wurde wohl für Office 2003 geschrieben; bei mir (Office 2016) funktioniert er jedoch nicht.
Kann mir bitte jemand helfen oder mir sagen wo ich Hilfe finden kann?
vielen Dank vorab und viele Grüße, Emil
Sub CutCopyOff()
CutCopyOnOff 19, False 'Menübefehl "Kopieren"
CutCopyOnOff 21, False 'Menübefehl "Ausschneiden"
CutCopyOnOff 22, False 'Menübefehl "Einfügen"
CutCopyOnOff 755, False 'Menübefehl "Inhalte einfügen"
Application.OnKey "^c", "" 'Kopieren mit "Strg + C"
Application.OnKey "^x", "" 'Ausschneiden mit "Strg + X"
Application.OnKey "^v", "" 'Einfügen mit "Strg + V"
Application.OnKey "^{INSERT}", "" 'Kopieren mit "Strg + Einfg"
Application.OnKey "+{DEL}", "" 'Ausschneiden mit "Umsch + Entf"
Application.OnKey "+{INSERT}", "" 'Einfügen mit "Umsch + Einfg"
Application.CellDragAndDrop = False 'Ziehen mit der Maus
End Sub Sub CutCopyOn()
CutCopyOnOff 19, True
CutCopyOnOff 21, True
CutCopyOnOff 22, True
CutCopyOnOff 755, True
Application.OnKey "^c"
Application.OnKey "^x"
Application.OnKey "^v"
Application.OnKey "^{INSERT}"
Application.OnKey "+{DEL}"
Application.OnKey "+{INSERT}"
Application.CellDragAndDrop = True
End Sub Sub CutCopyOnOff(Id As Variant, AnAus As Boolean)
Dim cb As CommandBar
Dim ctl As CommandBarControl
For Each cb In Application.CommandBars
Set ctl = cb.FindControl(Id:=Id, Recursive:=True)
If Not ctl Is Nothing Then ctl.Enabled = AnAus
Next
End Sub

Private Sub Workbook_Activate()
CutCopyOff
End Sub

Private Sub Workbook_Deactivate()
CutCopyOn
End Sub


Private Sub Worksheet_Activate()
CutCopyOff
End Sub

Private Sub Worksheet_Deactivate()
CutCopyOn
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel - Copy & Paste deaktivieren
01.06.2021 14:31:19
Rudi
Hallo,
imho brauchst du nur das:

Private Sub Worksheet_Activate()
Application.CutCopyMode = False
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.CutCopyMode = False
End Sub
in deinem Eingabeblatt.
Killt die Zwischenablage sobald du das Blatt aktivierst oder eine andere Zelle auf dem Blatt anwählst.
Gruß
Rudi
Anzeige
AW: Excel - Copy & Paste deaktivieren
01.06.2021 14:50:59
Emil
Hallo,
vielen Dank für Deine schnelle Antwort.
Ich habe es gleich ausprobiert; es funktioniert nur, wenn ich versuche eine ganze Zelle zu kopieren - einfügen nicht möglich.
sobald ich aber Text (z. B. aus Word oder dem Internet) einkopieren möchte funktioniert es nicht - einfügen klappt, was es aber nicht sollte.
Mache ich etwas falsch?
vielen Dank für Eure Hilfe.
Anzeige
AW: Excel - Copy & Paste deaktivieren
01.06.2021 15:43:34
Daniel
HI
du hast in Excel zwei zwischenablagen:
a) die Standard-Zwischenablage von Windows
b) die Excelspezifische Zwischenablage.
das Application.CutCopyMode = False löscht nur die Excelspezifische Zwischenablage.
hast du Daten in in der Windows-Zwischenablage, musst du die nochmal seperat leeren.
zwei Makros dazu findest du beispielsweise hier:
https://supportnet.de/forum/2512911/excel-per-vba-zwischenablage-inhalte-leeren
Gruß Daniel
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel: Copy & Paste deaktivieren


Schritt-für-Schritt-Anleitung

Um das Kopieren und Einfügen in Excel zu deaktivieren, kannst Du den folgenden VBA-Code verwenden. Dieser sorgt dafür, dass die Zwischenablage geleert wird, wenn das Arbeitsblatt aktiviert oder eine Zelle geändert wird.

  1. Öffne die Excel-Datei.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Doppelklicke auf das Arbeitsblatt, für das Du die Funktion aktivieren möchtest.
  4. Füge den folgenden Code in das Codefenster ein:
Private Sub Worksheet_Activate()
    Application.CutCopyMode = False
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.CutCopyMode = False
End Sub
  1. Schließe den VBA-Editor und speichere die Datei.

Mit diesem Code wird die Excel spezifische Zwischenablage geleert, was das copy & paste innerhalb von Excel verhindert.


Häufige Fehler und Lösungen

  • Excel Copy Paste funktioniert nicht: Wenn Du feststellst, dass das Deaktivieren von copy & paste nicht funktioniert, könnte es daran liegen, dass Du die Windows-Zwischenablage nicht berücksichtigt hast. Das Application.CutCopyMode = False löscht nur die Excel spezifische Zwischenablage.

  • Excel kopieren und einfügen funktioniert nicht: Überprüfe, ob Du den Code im richtigen Arbeitsblatt eingefügt hast. Der Code muss im entsprechenden VBA-Modul des Arbeitsblatts eingegeben werden.


Alternative Methoden

Falls der oben genannte Code nicht die gewünschten Ergebnisse liefert, kannst Du auch die gesamte Zwischenablage in Windows leeren. Hier ist ein einfaches Makro, das die Windows-Zwischenablage deaktiviert:

Sub ClearClipboard()
    Dim DataObj As New MSForms.DataObject
    DataObj.SetText ""
    DataObj.PutInClipboard
End Sub

Füge diesen Code in ein Modul ein und führe das Makro aus, wenn Du die Zwischenablage leeren möchtest.


Praktische Beispiele

Ein Beispiel für die Verwendung des Codes könnte sein, wenn Du eine Tabelle hast, in der nur bestimmte Daten eingegeben werden dürfen. Wenn Teamkollegen versuchen, Daten per copy & paste aus einer Quelle einzufügen, wird dies durch das Deaktivieren der Zwischenablage verhindert.

  • Aktiviere die Datenüberprüfung, um nur spezifische Eingaben zuzulassen.
  • Verwende den beschriebenen VBA-Code, um das copy & paste zu unterbinden.

Tipps für Profis

  • Um sicherzustellen, dass das Kopieren und Einfügen wirklich deaktiviert ist, kannst Du auch die Funktionalität in den Excel-Optionen überprüfen. Deaktiviere die Excel Recherche, um sicherzustellen, dass keine externen Daten eingefügt werden.

  • Bei Verwendung von SAP kann es sinnvoll sein, die office zwischenablage deaktivieren, um Probleme beim Einfügen von Daten zu vermeiden.


FAQ: Häufige Fragen

1. Warum funktioniert der VBA-Code nicht in Excel 2016?
Stelle sicher, dass Du den Code im richtigen Arbeitsblatt und nicht in einem Modul eingefügt hast. Zudem müssen eventuell die Macro-Einstellungen in Excel aktiviert sein.

2. Was kann ich tun, wenn Teamkollegen weiterhin Daten einfügen?
Überprüfe, ob die Datenüberprüfung korrekt eingerichtet ist und kombiniere sie mit dem VBA-Code, um die Funktionalität des copy & paste zu blockieren.

3. Wie kann ich verhindern, dass Daten aus Word oder dem Internet eingefügt werden?
Der VBA-Code Application.CutCopyMode = False verhindert das Einfügen von Daten aus der Excel spezifischen Zwischenablage. Um die Windows-Zwischenablage zu leeren, kannst Du das zusätzliche Makro verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige