Sub CopyModule()
Dim FromWorkbook As Workbook
Dim ToWorkbook As Workbook
Set FromWorkbook = Workbooks("Mappe1")
Set ToWorkbook = Workbooks("Mappe2")
ToWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule).Name = "Module"
Dim fromModule As CodeModule
Dim toModule As CodeModule
Set fromModule = FromWorkbook.VBProject.VBComponents("Module").CodeModule
Set toModule = ToWorkbook.VBProject.VBComponents("Module").CodeModule
If toModule.CountOfLines > 0 Then toModule.DeleteLines 1, toModule.
CountOfLines
toModule.AddFromString fromModule.Lines(1, fromModule.CountOfLines)
If toModule.CountOfLines > fromModule.CountOfLines Then toModule.DeleteLines
_
(fromModule.CountOfLines + 1), (toModule.CountOfLines - fromModule.
CountOfLines)
End Sub
Viele Grüße
Bernd
----------------------------------------------------
Die MacHero EXCEL Homepage
http://members.aol.com/Machero
Excel-Tipps&Tricks, das Excel-VBA-Kompendium mit 17 Leserstimmen
----------------------------------------------------
--
_____________________________________________________________
NewsGroups Suchen, lesen, schreiben mit http://netnews.web.de
Hier kommt der Fehler "Benutzerdefinierter Typ nicht definiert"
> Dim fromModule As CodeModule
> Dim toModule As CodeModule
Nach Änderung von CodeModule in Module folgende Fehlermeldung :
Die Methode 'Add' für das Objekt '_VBComponents' ist fehlgeschlagen
grundsätzliche Fragen dazu :
- Muß die Zieldatei geöffnet sein ?
- die Zieldatei hat bereits Module, werden diese überschrieben, oder müssen
sie vorher gelöscht werden ?
Vielen Dank für Deine Unterstützung
( benutze Access97 )
Walter
"Bernd Held" <bh...@debis.com> schrieb im Newsbeitrag
news:3a62...@netnews.web.de...
Hier kommt der Fehler "Benutzerdefinierter Typ nicht definiert"
> Dim fromModule As CodeModule
> Dim toModule As CodeModule
Nach Änderung von CodeModule in Module folgende Fehlermeldung :
Du musst in der Entwicklungsumgebung noch die Bibo:
Microsoft Visual Basic for Applications Extensibility
aktivieren. Dann sollte es eigentlich klappen, oder nicht?
Viele Grüße
Bernd
--
In der Zieldatei sind schon Module vorhanden, dann hängt das Makro ein Modul
(z.B. Modul12) an und das war es
Makro bleibt in Zeile
Set fromModule =
FromWorkbook.VBProject.VBComponents("Module").CodeModule
stehen mit "Indes außerhalb des gültigen Bereichs"
grundsätzliche Fragen dazu :
- Muß die Zieldatei geöffnet sein ?
- die Zieldatei hat bereits Module, werden diese überschrieben, oder müssen
sie vorher gelöscht werden (wenn ja, kann man das automatisieren)?
Gruss Walter
Nach ein paar Versuchen jetzt folgendes Ergebnis :
Wenn ich in deinem Makro anstatt "Module" = "Modul1" verwende und vorher
alle Module (Modul1 - Modul11) aus der Zieldatei entfernt wurden, fügt dein
Makro ein Modul1 in die Zieldatei ein und füllt es entsprechend der
Quelldatei(Modul1).
Jetzt fehlt mir nur noch folgendes :
Wie lösche ich alle Module in der Zieldatei
Wie programmiere ich eine Schleife, mit der ich den Namen der Quellmodule
auslese und diesen variabel in den restlichen Code packe
Danke und Grüsse aus Hildesheim
Walter