Danke für Eure Antwort, Gruß, Andreas
Appliction.CutCopyMode = false
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.CutCopyMode = False 'Hat das runterkopieren in der ganzen Arbeitsmappe abgeschaltet _
End Sub
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
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
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
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.
ALT + F11, um den VBA-Editor zu öffnen.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
Fehler: "Deklaration entspricht nicht der Beschreibung eines Ereignisses"
Worksheet_Activate und nicht Worksheet_Aktivate heißen.Problem: Deaktivierung funktioniert nur für die ganze Arbeitsmappe
Copy Paste funktioniert trotz Deaktivierung
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.
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.
Application.CutCopyMode = False in Kombination mit anderen Bedingungen, um spezifische Bereiche zu schützen, während andere bearbeitbar bleiben.Worksheet_Deactivate-Ereignis, um den "Cut Copy Mode" temporär zu aktivieren, wenn du auf ein anderes Blatt wechselst.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.