Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1700to1704
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Copy/Paste verhindern/ Für def. Bereich zulassen

Copy/Paste verhindern/ Für def. Bereich zulassen
19.07.2019 12:14:37
Sebastian
Hallo zusammen,
ich habe untenstehenden (oft gesuchten und viel kopierten) Code genutzt um das Kopieren/ Ausschneiden/ Einfügen in meinem Excel- Workbook zu verhindern.
Der Code funktioniert soweit tadellos, jedoch muss ich den Nutzern in bestimmten Bereichen das Kopieren/ Einfügen erlauben. "Kopieren" habe ich auskommentiert und darf in der ganzen Mappe verwendet werden.
Nun benötige ich die Einschränkung, dass in (Beispiel:) Tabelle1, Zeile A2 ein Text eingefügt werden darf.
Ist dies möglich?
Vielen Dank für die Hilfe
Code "Diese Arbeitsmappe":
Option Explicit
Private Sub Workbook_Activate()                             'Copy&Paste verhindern_
Call ToggleCutCopyAndPaste(False)
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)         'Copy&Paste verhindern_
Call ToggleCutCopyAndPaste(True)
End Sub

Private Sub Workbook_Deactivate()                           'Copy&Paste verhindern_
Call ToggleCutCopyAndPaste(True)
End Sub

Private Sub Workbook_Open()
Call ToggleCutCopyAndPaste(False)                       'Copy&Paste verhindern_
End Sub

Code Modul1:
Sub ToggleCutCopyAndPaste(Allow As Boolean)
'Activate/deactivate cut, copy, paste and pastespecial menu items
Call EnableMenuItem(21, Allow) ' cut
'Call EnableMenuItem(19, Allow) ' copy
Call EnableMenuItem(22, Allow) ' paste
Call EnableMenuItem(755, Allow) ' pastespecial
'Activate/deactivate drag and drop ability
Application.CellDragAndDrop = Allow
'Activate/deactivate cut, copy, paste and pastespecial shortcut keys
With Application
Select Case Allow
Case Is = False
'.OnKey "^c", "CutCopyPasteDisabled"
.OnKey "^v", "CutCopyPasteDisabled"
.OnKey "^x", "CutCopyPasteDisabled"
.OnKey "+{DEL}", "CutCopyPasteDisabled"
.OnKey "^{INSERT}", "CutCopyPasteDisabled"
Case Is = True
'.OnKey "^c"
.OnKey "^v"
.OnKey "^x"
.OnKey "+{DEL}"
.OnKey "^{INSERT}"
End Select
End With
End Sub
Sub EnableMenuItem(ctlId As Integer, Enabled As Boolean)
'Activate/Deactivate specific menu item
Dim cBar As CommandBar
Dim cBarCtrl As CommandBarControl
For Each cBar In Application.CommandBars
If cBar.Name "Clipboard" Then
Set cBarCtrl = cBar.FindControl(ID:=ctlId, recursive:=True)
If Not cBarCtrl Is Nothing Then cBarCtrl.Enabled = Enabled
End If
Next
End Sub
Sub CutCopyPasteDisabled()
'Inform user that the functions have been disabled
MsgBox "Sorry! Cutting, copying and pasting have been disabled in this workbook!"
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Copy/Paste verhindern/ Für def. Bereich zulassen
19.07.2019 13:27:53
Regina
Hallo,
nur so eine Idee, Du könntest in den Tabellenblättern, in denen das Einfügen an bestimmten Stellen erlaubt ist, das SelectionChange-Ereignis nutzen. Darin abfragen, welches die aktuelle Zelle ist und ggf. das Einfügen einschalten und in allen anderen Fllen wieder ausschalten.
Gruß
Regina
AW: Copy/Paste verhindern/ Für def. Bereich zulassen
22.07.2019 09:49:25
Sebastian
Hallo Regina,
danke für deinen Beitrag.
"SelectionChange" habe ich diesbezüglich schon öfter gelesen. Leider bin ich nicht VBA- firm genug um dieses in den Code richtig einzubauen.
Könntest du mir dabei helfen?
MFG
AW: Copy/Paste verhindern/ Für def. Bereich zulassen
22.07.2019 11:02:19
Matthias
Hallo
Das "SelectionChange"-Ereignis tritt immer dann ein wenn eine Zelle ausgewählt wird.(Selection)
Also nach diesem Schema: (Code gehört ins entsprechende Tabellenblatt)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = Range("A1").Address Then
MsgBox "Einfügen erlaubt"
Else
MsgBox "Einfügen nicht erlaubt"
End If
End Sub
Statt der MsgBoxen einfach Deinen Code zum Sperren oder Erlauben einsetzen.
Gruß Matthias
Anzeige

9 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige