Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Makro um kopieren und einfügen verbieten





Frage

Hallo Zusammen, ich möchte in Excel das Kopieren und Einfügen von Daten verbieten/verhindern. Gibt es dafür eine Makro. Wenn ja, wie sieht die aus? Ich habe leider sehr wenig (fast gar keine) Ahnung von Makros. Vielen dank vorab Bérengère

Antwort 1 von todwat

Also klick mal auf eine Zelle mit der rechten Maustaste und geh auf den Menüpunkt "Schutz".
Dort findest du die Beschreibung wie du eine Exceltabelle schützt. Und dann kannst du auch Zellen sperren.

Antwort 2 von coros

Nabend Bérengère,

das kann man via VBA lösen. Kopiee nachfolgende Makros in ein Standardmodul.

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


Mit den Makros kann man das Kopieren, Ausschneiden und Einfügen deaktivieren und wieder aktivieren.

Da ich nicht weiß, ob Du Dich mit VBA (Visual Basic) auskennst, kommt hier eine kurze Anweisung, wie Du den Code in Deine Tabelle bekommst.

1. Markiere die Anweisung aus diesem Beitrag und Kopiere (Strg c) diesen.

2. Klicke in Deiner Exceldatei in der Menüleiste nacheinander auf Extras => Makro => Visual Basic Editor oder drücke die Tastenkombination Alt F11

3. In dem neu geöffneten Fenster suche auf der linken Seite nach dem Eintrag VBA Projekt(Hier der Name Deiner Tabelle) und klicke doppelt auf diesen Eintrag

4. Klicke danach nacheinander in der Menüleiste auf Einfügen => Modul.

5. Füge nun die vorher kopierte Anweisung in das rechte leere Fenster ein.

Zum Starten der Makros muss in das VBA Projekt "DieseArbeitsmappe" nachfolgende Codes kopiert werden.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Kopieren_Aktivieren
End Sub

Private Sub Workbook_Open()
Kopieren_Deaktivieren
End Sub


Mit den beiden Codes werden beim Öffnen der Datei das Makro "Kopieren_Deaktivieren", welches das Kopeiren usw. ausschaltet, und beim Beenden der Datei das Makro "Kopieren_Aktivieren", welches alles wieder zurücksetzt, gestartet.

Hier eine kurze Anweisung, wie Du den Code in Deine Tabelle bekommst.

1. Markiere die Anweisung aus diesem Beitrag und Kopiere (Strg c) diese.

2. Klicke in Deiner Exceldatei in der Menüleiste nacheinander auf Extras => Makro => Visual Basic Editor oder drücke die Tastenkombination Alt F11

3. In dem neu geöffneten Fenster suche auf der linken Seite nach dem Eintrag VBA Projekt(Hier der Name Deiner Tabelle)

4. Klicke danach auf den Eintrag Diese Arbeitsmappe

5. Füge nun die vorher kopierte Anweisung in das rechte leere Fenster ein.

Du solltest zum Abschluss noch die Sicherheitseinstellung, die beim Öffnen der Datei abgefragt wird, kontrollieren. Klicke dazu nacheinander in der Menüleiste wieder auf Extras => Makro und dann auf Sicherheit.... Gehe, falls nicht schon angezeigt, auf die Registerkarte Sicherheitsstufe und schaue dort nach, ob die Einstellung Mittel aktiviert ist. Wenn nicht, aktiviere diese Einstellung, da sonst der Code nicht ausgeführt werden kann. Beim nächsten Öffnen Deiner Datei kommt eine Abfrage, ob Makros aktiviert oder deaktiviert werden sollen. Klicke auf aktivieren und der Code wird ausgeführt.

So, ich hoffe, Du kommst klar. Bei Problemen oder Fragen melde Dich noch mal.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 3 von TioZ

sehr sehr hilfreich..

DANKE

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: