Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1132to1136
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

Makro ausführen bei schließen der Mappe | Herbers Excel-Forum

Makro ausführen bei schließen der Mappe
26.01.2010 08:21:02
Wolle

Guten Morgen Forum,
habe da ein Problem mit einem Makro. Ich möchte das es beim schließen der Mappe ausgeführt wird.
Das Makro unterbindet das Kopieren und ziehen von Zellen und wid beim start der Mappe aktiviert mit:

Private Sub Workbook_Open()
CutCopyOff
End Sub
Dann wollte ich ich das das zweite Makro (zum deaktivieren) beim schließen der Mappe ausgeführt wird, damit es in anderen Anwendungen nicht mehr aktiv ist. NUR KLAPPT DAS NICHT SO RICHTIG!!!!
Private Sub Workbook_Close()
CutCopyOn
End Sub

Zur Zeit habe ich das Problem das ich, wenn das Makro einmal ausgeführt wurde ich anschließend in keiner Excel Anwendung mehr Koieren durch ziehen kann.
Der Code zum sperren und entsperren habe ich irgendwo aus dem Netz :
Sub CutCopyOff()
CutCopyOnOff 19, False 'Menübefehl "Kopieren"
CutCopyOnOff 21, False 'Menübefehl "Ausschneiden"
CutCopyOnOff 22, False 'Menübefehl "Einfügen"
CutCopyOnOff 755, False 'Menübefehl "Inhalte einfügen"
Application.OnKey "^c", "" 'Kopieren mit "Strg + C"
Application.OnKey "^x", "" 'Ausschneiden mit "Strg + X"
Application.OnKey "^v", "" 'Einfügen mit "Strg + V"
Application.OnKey "^{INSERT}", "" 'Kopieren mit "Strg + Einfg"
Application.OnKey "+{DEL}", "" 'Ausschneiden mit "Umsch + Entf"
Application.OnKey "+{INSERT}", "" 'Einfügen mit "Umsch + Einfg"
Application.CellDragAndDrop = False 'Ziehen mit der Maus
End Sub Sub CutCopyOn()
CutCopyOnOff 19, True
CutCopyOnOff 21, True
CutCopyOnOff 22, True
CutCopyOnOff 755, True
Application.OnKey "^c"
Application.OnKey "^x"
Application.OnKey "^v"
Application.OnKey "^{INSERT}"
Application.OnKey "+{DEL}"
Application.OnKey "+{INSERT}"
Application.CellDragAndDrop = True
End Sub Sub CutCopyOnOff(Id As Variant, AnAus As Boolean)
Dim cb As CommandBar
Dim ctl As CommandBarControl
For Each cb In Application.CommandBars
Set ctl = cb.FindControl(Id:=Id, Recursive:=True)
If Not ctl Is Nothing Then ctl.Enabled = AnAus
Next
End Sub Kann mir jemand helfen, und wenn ja wie???
Gruß und Danke von Wolfgang

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro ausführen bei schließen der Mappe
26.01.2010 08:33:06
Hajo_Zi
Hallo,
Deine Aktion hat den falschen Namen. Da sind die DropDown Felder im VBA Editor hilfreich.
Private Sub Workbook_BeforeClose(Cancel As Boolean)

AW: Makro ausführen bei schließen der Mappe
26.01.2010 08:41:34
Wolle
Danke Dir Hajo,
hast mir wieder sehr geholfen.
Gruß Wolfgang
AW: Makro ausführen bei schließen der Mappe
26.01.2010 08:33:38
fcs
Hallo Wolfgang,
benutze
Private Sub Workbook_Activate()
CutCopyOff
End Sub
Private Sub Workbook_Deactivate()
CutCopyOn
End Sub

Gruß
Franz
AW: Makro ausführen bei schließen der Mappe
26.01.2010 08:42:14
Wolle
Danke Dir Franz,
hast mir sehr geholfen.
Gruß Wolfgang
AW: Makro ausführen bei schließen der Mappe
26.01.2010 08:47:32
Mathias
Hallo Wolfgang,
du hast lediglich einen Fehler beim Beenden deines Workbooks. Das Ereignis Workbook_close ist kein Standardergegnis. Verwende stattdessen:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
CutCopyOn
End Sub
Dort hast du die Möglichkeit bevor das Workbook geschlossen wird die Rückgängigkeit auszuführen.
Gruß
Mathias
Anzeige
Danke für Eure Hilfe.
26.01.2010 09:26:19
Wolle
Ihr seid alle so Klasse. Danke Euch für die Hilfe und auch Erklärungen.
Hier lehrnt man was.
Gruß Wolfgang

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige