Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro in "Diese Arbeitsmappe" in andere verschiebe

Makro in "Diese Arbeitsmappe" in andere verschiebe
08.03.2005 13:19:23
R.Schmitt
Makro in "Diese Arbeitsmappe" in andere verschiebeN
muß es heißen. Oben war dafür leider kein Platz mehr ;-))
Liebe freiwilligen Helfer,
zusammen mit einigen Arbeitsblättern
verschiebe ich auch ein Modul in eine
neu erstellte Datei. Klappt alles her-
vorragend, bis auf das verschieben des
Makros in "Diese Arbeitsmappe" wo ein
"workbook-beforeprint" Makro drinsteht.
Wie bekomme ich denn nun dieses von A
nach B ?
Vielen Dank
R.Schmitt
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro in "Diese Arbeitsmappe" in andere versch
08.03.2005 13:38:31
Matthias
Hallo R.Schmitt,
ich habe das so gelöst: In "DiesArbeitsmappe habe ich nur Prozeduraufrufe:
Private Sub Workbook_Activate()
WB_Activate
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
WB_BeforeClose Cancel
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
WB_BeforePrint Cancel
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
WB_BeforeSave SaveAsUI, Cancel
End Sub
Private Sub Workbook_Deactivate()
WB_Deactivate
End Sub
Private Sub Workbook_Open()
WB_Open
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
WB_SheetActivate Sh
End Sub
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
WB_SheetBeforeDoubleClick Sh, Target, Cancel
End Sub
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
WB_SheetBeforeRightClick Sh, Target, Cancel
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
WB_SheetChange Sh, Target
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
WB_SheetSelectionChange Sh, Target
End Sub
und in einem "normalen" Modul habe ich dann den eigentlichen Code mit den o.a. Prozedurnamen stehen.
z.B.
Sub WB_BeforeClose(Cancel As Boolean)
If SofortBeenden Then Exit Sub
DoEvents
If Not HatRecht("öffnen") Then Exit Sub
PlanSchliessen Cancel
End Sub
(ist nur ein spezielles Beispiel)
Der Code kann aus "DieseArbeitsmappe" 1:1 übernommen werden.
Ich hab' das so gemacht, weil ein normales Modul leichter auszutauschen ist als ein Klassenmodul.
Gruß Matthias
Anzeige
Schon klar...aber................
08.03.2005 13:45:07
R.Schmitt
also zunächst mal Dankeschön.
aber erklär mir nur kurz wie ich
genau diese drei Zeilen in
"Diese Arbeitsmappe" in der soeben
neu angelegten Datei bekomme :

Private Sub Workbook_Activate()
WB_Activate
End Sub

? R.Schmitt ?
AW: Schon klar...aber................
08.03.2005 13:53:02
Matthias
Hallo R.,
frei nach diesem Beitrag:
https://www.herber.de/forum/archiv/356to360/t358529.htm
Sub WB_CodeAdd()
Dim VBCodeMod, LineNum
Workbooks.Add
Set VBCodeMod = ActiveWorkbook.VBProject.VBComponents("DieseArbeitsmappe").CodeModule
With VBCodeMod
LineNum = .CountOfLines + 1
.insertlines LineNum, _
"Private Sub Workbook_Activate()" & Chr(13) & _
"WB_Activate" & Chr(13) & _
"End Sub"
End With
End Sub
Gruß Matthias
Anzeige
Klappt - Danke vielmals
09.03.2005 08:41:42
R.Schmitt
Danke Danke
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige