Hallo liebe Forumsteilnehmer, ich bin kurz vor dem verzeifeln und hoffe, mir kann jemand helfen.
Ich suchte im Netz nach einer Möglichkeit in einer von mir erstellten und blattgeschützten Anwendertabelle zu verhindern, dass die Anwender aus anderen Exceltabellen Daten in die Tabelle kopieren können und damit die Dropdown-Funktionen in den Spalten außer Kraft setzen. Bei meiner Suche bin ich auf dieses Forum und die folgende VBA-Anleitung gestoßen:
Sub Kopieren_Aktivieren()
'Tastenkombinationen einschalten
Application.OnKey "^x"
Application.OnKey "^c"
Application.OnKey "^v"
Application.OnKey "+{DEL}"
Application.OnKey "+{INSERT}"
'Drag & Drop wieder erlauben
Application.CellDragAndDrop = True
'Schaltflaechen in Menüleiste => Bearbeiten aktivieren
procControlEnableDisable 21, True ' Ausschneiden
procControlEnableDisable 19, True 'Kopieren
procControlEnableDisable 22, True 'Einfuegen
procControlEnableDisable 755, True 'Inhalte einfuegen
procControlEnableDisable 809, True 'Office-&Zwischenablage
End Sub
Sub Kopieren_Deaktivieren()
'Tastenkombinationen deaktivieren
Application.OnKey "^x", ""
Application.OnKey "^c", ""
Application.OnKey "^v", ""
Application.OnKey "+{DEL}", ""
Application.OnKey "+{INSERT}", ""
'Drag & Drop ausschalten
Application.CellDragAndDrop = False
'Schaltflaechen in Menüleiste => Bearbeiten deaktivieren
procControlEnableDisable 21, False ' Ausschneiden
procControlEnableDisable 19, False 'Kopieren
procControlEnableDisable 22, False 'Einfuegen
procControlEnableDisable 755, False 'Inhalte einfuegen
procControlEnableDisable 809, False 'Office-&Zwischenablage
End Sub
Sub procControlEnableDisable(intId As Integer, _
bolStatus As Boolean)
Dim cmbSuche As CommandBar
Dim cmbcSteuerelement As CommandBarControl
On Error Resume Next
For Each cmbSuche In Application.CommandBars
Set cmbcSteuerelement = _
cmbSuche.FindControl(ID:=intId, recursive:=True)
If Not cmbcSteuerelement Is Nothing Then
cmbcSteuerelement.Enabled = bolStatus
End If
Next
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Kopieren_Aktivieren
End Sub
Private Sub Workbook_Open()
Kopieren_Deaktivieren
End Sub
Ich habe leider wenig Ahnung von VBA und es war wohl eine große Dummheit von mir, diese Anleitung vollständig in das Modul 1 einzugeben. Vermutlich musste alles einzeln eingegeben werden oder irgendwas ist völlig falsch evtl. für Excel 2016. Es hat funktioniert, jedoch sind jetzt alle Exceldateien davon betroffen. Ich habe das Macro und auch Modul 1 gelöscht. Im Trustcenter habe ich Häckchen bei "alle Macros deaktivieren" gesetzt. Trotzdem kann ich keine Zellen mehr kopieren, etc., egal in welcher Word oder Excel Datei.
Gibt es vielleicht ein Macro, mit welchem ich die "eigentlich" so wichtige Funktion wieder einsetzen kann bzw. was kann ich tun? Für Hilfe wäre ich sehr dankbar.