Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Copy Paste für einzelnes excel sheet deaktivieren

Copy Paste für einzelnes excel sheet deaktivieren
18.11.2018 11:49:08
Andreas
Hallo, ist es möglich für ein einzelnes Excel sheet das Copy und Paste sowie das "runterkopieren" von Zellen zu deaktivieren? Alle scripte die ich bisher gefunden haben, deaktivieren dies immer für die ganze Arbeitsmappe.
Danke für Eure Antwort, Gruß, Andreas
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CutCopyMode = false
18.11.2018 11:53:59
Doppelt
versuche mit dem event "Selection_Change" ein
Appliction.CutCopyMode = false

AW: CutCopyMode = false
18.11.2018 12:07:38
Andreas
Danke das hat, schon mal das runterkopieren abgeschaltet aber leider wieder für die ganze Arbeitsmappe.
Diesen Code habe ich in das sheet eingefügt:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.CutCopyMode = False 'Hat das runterkopieren in der ganzen Arbeitsmappe abgeschaltet  _
End Sub

Anzeige
AW: CutCopyMode = false
18.11.2018 12:12:34
Crazy
Hi
und wenn du diese Codezeile ins Activate des Tabellenblattes setzt?
und beim Deactivate wieder auf true?
MfG Tom
AW: CutCopyMode = false
18.11.2018 12:31:59
Andreas
Klappt leider auch nicht, wird wieder für ganzen Arbeitsmappe abgeschaltet beim wechseln auf anderes sheet kommt Meldung Deklaration entspricht nicht der Beschreibung eines Ereignisses oder Prozedur mit demselben Namen. So ist es jetzt im sheet eingefügt:
Option Explicit
Private Sub Worksheet_Aktivate(ByVal Target As Range)
Application.CutCopyMode = False 'Hat das runterkopieren in der ganzen Arbeitsmappe abgeschaltet
End Sub
Private Sub Worksheet_Deactivate(ByVal Target As Range)
Application.CutCopyMode = True
End Sub

Anzeige
AW: CutCopyMode = false
18.11.2018 12:46:04
Andreas
Füge ich den Code in "diese Arbeitsmappe" ein ist die Funktion auch für die ganze Arbeitsmappe deaktiviert
AW: Kein Paste
18.11.2018 13:05:47
Gerd
Moin,
ins Blattmodul reinkopieren u. keine "Freihandzeichnungen" machen.
Option Explicit
Private Sub Worksheet_Activate()
Application.CutCopyMode = False
End Sub
Private Sub Worksheet_Deactivate()
Application.CutCopyMode = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.CutCopyMode Then
Application.CutCopyMode = False
End If
End Sub

Gruß Gerd
Anzeige
AW: Kein Paste
18.11.2018 13:34:47
Andreas
Jo danke das geht schon prima. Einziger Wehrmutstropfen ist noch, das runterziehen der Zellen ist noch in der ganzen Arbeitsmappe gesperrt. Wenn sich das auch noch auf das sheet wo der Code eingefügt ist begrenzen ließe wäre das perfekt. Aber meine Kenntnisse reichen dazu leider nicht aus.
Vielen Dank Gruß, Andreas
Anzeige
AW: Kein Paste
18.11.2018 13:44:36
Gerd
Hi,
guckst du unter der Office-Symbol-Schaltfläche -- Excel-Optionen---Erweitert
ob der Haken bei "Ausfüllkästchen und Drag&Drop von Zellen aktivieren"
noch sitzt.
cu Gerd
AW: Kein Paste
18.11.2018 14:27:49
Andreas
So, Danke für die Hilfe von euch, ohne die ich es nicht geschafft hätte. Einen schönen Sonntag noch. Mit untenstehenden Code ist es genauso wie ich es brauche:
Option Explicit
Private Sub Worksheet_Activate()
Application.CutCopyMode = False
Application.CellDragAndDrop = False
End Sub

Private Sub Worksheet_Deactivate()
Application.CutCopyMode = True
Application.CellDragAndDrop = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.CutCopyMode Then
Application.CutCopyMode = False
End If
End Sub

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Copy Paste für ein einzelnes Excel-Sheet deaktivieren


Schritt-für-Schritt-Anleitung

Um das Copy und Paste sowie das "Runterkopieren" von Zellen für ein einzelnes Excel-Sheet zu deaktivieren, kannst du den folgenden VBA-Code verwenden. Dieser Code sorgt dafür, dass die Funktion nur für das aktive Blatt gilt.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle im Projektfenster das entsprechende Arbeitsblatt aus.
  3. Füge den folgenden Code in das Codefenster des Arbeitsblatts ein:
Option Explicit

Private Sub Worksheet_Activate()
    Application.CutCopyMode = False
    Application.CellDragAndDrop = False
End Sub

Private Sub Worksheet_Deactivate()
    Application.CutCopyMode = True
    Application.CellDragAndDrop = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Application.CutCopyMode Then
        Application.CutCopyMode = False
    End If
End Sub
  1. Schließe den VBA-Editor und teste die Funktionalität im jeweiligen Arbeitsblatt.

Häufige Fehler und Lösungen

  • Fehler: "Deklaration entspricht nicht der Beschreibung eines Ereignisses"

    • Stelle sicher, dass du den richtigen Ereignisnamen verwendest. Zum Beispiel sollte es Worksheet_Activate und nicht Worksheet_Aktivate heißen.
  • Problem: Deaktivierung funktioniert nur für die ganze Arbeitsmappe

    • Achte darauf, dass der Code im spezifischen Arbeitsblatt und nicht in "Diese Arbeitsmappe" eingefügt wird.
  • Copy Paste funktioniert trotz Deaktivierung

    • Überprüfe, ob der Haken bei "Ausfüllkästchen und Drag&Drop von Zellen aktivieren" in den Excel-Optionen gesetzt ist. Entferne diesen Haken, um die Funktion zu deaktivieren.

Alternative Methoden

Eine andere Möglichkeit, das Copy und Paste für ein einzelnes Blatt zu steuern, besteht darin, das application.cutcopymode-VBA-Objekt in Kombination mit dem SelectionChange-Ereignis zu verwenden:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Application.CutCopyMode Then
        Application.CutCopyMode = False
    End If
End Sub

Diese Methode sorgt dafür, dass der "Cut Copy Mode" aus dem Excel-Bereich entfernt wird, wenn du eine neue Auswahl triffst.


Praktische Beispiele

Wenn du ein Beispiel für das Deaktivieren von Copy und Paste in einer Tabelle verwenden möchtest, kannst du spezifische Zellen oder Bereiche schützen. Hier ist ein Beispiel, bei dem der Bereich A1:D10 deaktiviert wird:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:D10")) Is Nothing Then
        Application.CutCopyMode = False
    End If
End Sub

So bleibt das Copy Paste in anderen Bereichen der Tabelle aktiv.


Tipps für Profis

  • Nutze Application.CutCopyMode = False in Kombination mit anderen Bedingungen, um spezifische Bereiche zu schützen, während andere bearbeitbar bleiben.
  • Experimentiere mit dem Worksheet_Deactivate-Ereignis, um den "Cut Copy Mode" temporär zu aktivieren, wenn du auf ein anderes Blatt wechselst.

FAQ: Häufige Fragen

1. Wie kann ich das Drag&Drop für ein bestimmtes Blatt deaktivieren? Um das Drag&Drop auf einem bestimmten Blatt zu deaktivieren, kannst du Application.CellDragAndDrop = False im Worksheet_Activate-Ereignis verwenden.

2. Funktioniert dieser Code in allen Excel-Versionen? Ja, der Code sollte in den meisten aktuellen Excel-Versionen funktionieren. Achte jedoch darauf, dass du VBA aktivieren musst.

3. Was passiert, wenn ich Application.CutCopyMode = True setze? Das Setzen auf True aktiviert den "Cut Copy Mode", wodurch die Copy-Paste-Funktion wieder möglich wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige