Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
580to584
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
580to584
580to584
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Modul1.bas

Modul1.bas
03.03.2005 19:31:39
Sonnenpeter
Hallo zusammen,
ich bastele jetzt schon eine geraume Zeit daran ein VBA-Modul in eine neu zu erstellende Arbeitsmappe zu kopieren, bekomme es einfach nicht hin!!
Jetzt bin ich dabei eine .bas Datei abzulegen und diese wieder einzulesen.
Hat den Nachteil, geht nur manuell, Makrorecorder zeichnet nichts auf, die VBA-Hilfe gibt auch nichts her und das VBA-Modul kann nicht schreibgeschützt werden.
Nerv, muss ich aufgeben oder habt ihr da noch eine Idee?
Gruß aus Mainz / Sonnenpeter
PS: Google gibt auch nichts her.

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

Betreff
Datum
Anwender
Anzeige
AW: Modul1.bas
03.03.2005 19:45:11
Hajo_Zi
Hallo Sonnenpeter,
warum nicht einfach das Modul im VBA Editor von einer in die andere ziehen?
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


AW: Modul1.bas
03.03.2005 21:19:10
Heino
Folgendes habe ich auf der Internetseite von Monika Weber gefunden.
Orginaltext der Seite:
14.) Module zwischen Projekten kopieren
Es gibt nicht einfach eine Methode, um Module zwischen Projekten zu kopieren. Der Code eines Projektes muss zuerst exportiert werden. Danach kann dieser in ein anderes Projekt importiert werden. Die folgende Prozedur exportiert das "Modul1" von der "Mappe2" in die "Mappe1".

Sub CopyOneModule()
Dim FName As String
With Workbooks("Mappe2")
FName = .Path & "\code.txt"
.VBProject.VBComponents("Modul1").Export FName
End With
Workbooks("Mappe1").VBProject.VBComponents.Import FName
End Sub

Ändere lediglich "Modul1" in den Namen des Moduls, das Du tatsächlich kopieren möchtest. Wenn Du alle Module kopieren möchtest (mit Ausnahme von DieseArbeitsmappe und den Tabellenmodulen), kannst Du den folgenden Code benutzen.

Sub CopyAllModules()
Dim FName As String
Dim VBComp As VBIDE.VBComponent
With Workbooks("Mappe2")
FName = .Path & "\code.txt"
If Dir(FName) <> "" Then
Kill FName
End If
For Each VBComp In .VBProject.VBComponents
If VBComp.Type <> vbext_ct_Document Then
VBComp.Export FName
Workbooks("Mappe1").VBProject.VBComponents. _
Import FName
Kill FName
End If
Next VBComp
End With
End Sub

Anzeige
Aber Hallo......
03.03.2005 21:43:54
Sonnenpeter
Danke Heino,

Sub CopyOneModule()
Dim FName As String
With Workbooks("Mappe2")
FName = .Path & "\code.txt"
.VBProject.VBComponents("Modul1").Export FName
End With
Workbooks("Mappe1").VBProject.VBComponents.Import FName
End Sub

Funktioniert super :-))))
Und was habe ich schon für komplizierte Wege probiert

Sub CopyAllModules()
Dim FName As String
Dim VBComp As VBIDE.VBComponent 'gibt hier den Fehler Bunutzerdefinierter Typ nicht definiert :-(((
With Workbooks("Mappe2")
FName = .Path & "\code.txt"
If Dir(FName) <> "" Then
Kill FName
End If
For Each VBComp In .VBProject.VBComponents
If VBComp.Type <> vbext_ct_Document Then
VBComp.Export FName
Workbooks("Mappe1").VBProject.VBComponents. _
Import FName
Kill FName
End If
Next VBComp
End With
End Sub

Gruß Sonnenpeter
PS: Könntes Du noch die www.Adi der Internetseite von Monika Weber einstellen?
Anzeige
Danke Hajo.....o.T.
04.03.2005 17:01:05
Sonnenpeter
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige