Sämtliche Makros eines Sheets exp-& importieren

Bild

Betrifft: Sämtliche Makros eines Sheets exp-& importieren
von: Patrick
Geschrieben am: 10.06.2015 15:29:11

Hallo zusammen,
ich hab da mal eine kurze Frage.
Und zwar möchte ich aus einem Workbook "A" sämtliche Makros des Sheet "a" als .bas-Datei exportieren lassen.
Anschließend möchte ich diese .bas-Datei im Workbook "B" im Sheet "b" einfügen.
Ganz normale Module exportieren & importieren bekomme ich mit folgendem Code hin, aber bei Tabellenblättern stehe ich irgendwie auf dem Schlauch. sPath gibt hierbei jeweils den Dateipfad in korrekter Form an.
Export:


Application.VBE.ActiveVBProject.VBComponents("Modul1").export sPath & "export.bas"

Import:

wbZiel.VBProject.VBComponents.Import sPath & "export.bas"

Wie kann ich das mit Hilfe von VBA automatisch durchführen lasssen?
Hat da zufällig jemand eine Idee?
Vielen Dank schon einmal :)

Bild

Betrifft: Sämtliche Makros eines Sheets exp-& importieren
von: Rudi Maintaire
Geschrieben am: 10.06.2015 16:17:36
Hallo,
das geht genauso.
Anstatt Modul1 den Codenamen der Tabelle angeben.
Gruß
Rudi

Bild

Betrifft: AW: Sämtliche Makros eines Sheets exp-& importieren
von: Patrick
Geschrieben am: 11.06.2015 08:13:00
Vielen Dank!
Das Exportieren funktioniert nun wie gewünscht. Aber wie schaffe ich es nun, dass die bas-Datei auch in die gewünscht Tabelle des neuen Workbooks hineinkopiert wird?
Mein ersten Gedanken waren folgende Möglichkeiten:

wbZiel.VBProject.VBComponents("Tabelle1").Import sPath & "export.bas"
oder
Application.VBE.ActiveVBProject.VBComponents("Tabelle1").Import sPath & "export.bas"
Bei beiden Möglichkeiten kommt jedoch am Ende die Fehlermeldung "Laufzeitfehler '438': Objekt unterstützt diese Eigenschaft oder Methode nicht."
Als ganz normales Modul einfügen läuft einwandfrei mit folgendem Code:
wbZiel.VBProject.VBComponents.Import sPath & "export.bas"

Vielen Dank schon einmal :)

Bild

Betrifft: AW: Sämtliche Makros eines Sheets exp-& importieren
von: Patrick
Geschrieben am: 11.06.2015 10:06:10
Update:
Also konkreter gesagt geht es um die die Funktion BeforeDoubleClick(). Diese soll bei einem Doppelklick ausgeführt werden. Dies funktioniert allerdings nicht, wenn sie in einem Modul steht sondern nur in den Makros des jeweiligen Tabellenblattes.
Vielleicht kann man hierüber auch irgendwie einen anderen Umweg gehen?

Bild

Betrifft: Sämtliche Makros eines Sheets exp-& importieren
von: Rudi Maintaire
Geschrieben am: 11.06.2015 12:38:13
Hallo,
Als ganz normales Modul einfügen läuft einwandfrei mit folgendem Code:
Damit fügst du wie du selbst sagst, ein Modul ein.
Code in einem Blatt musst du per AddFromString-Methode hinzufügen.
Gruß
Rudi

Bild

Betrifft: AW: Sämtliche Makros eines Sheets exp-& importieren
von: Patrick
Geschrieben am: 11.06.2015 14:54:49
Super vielen Dank für die schnelle Hilfe!
Die AddFromString-Methode funktioniert so wie ich es mir erhofft hatte. Der Rest ist jetzt nur noch Gefummel die Sub da ordentlich reinzuschreiben.
Gruß
Patrick

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Sämtliche Makros eines Sheets exp-& importieren"