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

Modul in neues Arbeitsblatt kopieren

Modul in neues Arbeitsblatt kopieren
28.06.2016 10:58:30
Rookie
Hallo liebe VBA'ler,
ich möchte gern ein Modul aus einer in eine andere Arbeitsmappe übertragen. Ich hab auch einen Code gefunden, der genau das machen soll. Leider stimmt irgendwas nicht und ich kommm einfach nicht drauf - hier mal ein Auszug vom gesamten Code bis zum Modul kopieren:
Sub Berichtespeichern()
' Sicherheitsabfrage
If MsgBox(prompt:="Bericht abgeschlossen und fertig zur Ablage?", Buttons:=vbQuestion + vbYesNo) _
= vbNo Then Exit Sub
' Tabellenblatt Maßnahmenplan kopieren und in neue Arbeitmappe einfügen
Dim objShape As Shape
Call Massn.Copy
With ActiveSheet
.UsedRange.Value = .UsedRange.Value
For Each objShape In .Shapes
If objShape.Type = msoFormControl Then Call objShape.Delete
Next
End With
' Vorhandene Makros vorsorglich löschen
With ActiveWorkbook
With .VBProject.VBComponents(.Sheets("Maßnahmenplan").CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
End With
' Formeln zur Weiterverarbeitung in neue Arbeitsmappe("Maßnahmenplan") einfügen
Formel = "=ZÄHLENWENN(V:V;""ja"")"
ActiveSheet.Range("AE5").FormulaLocal = Formel
Formel = "=ZÄHLENWENN(V:V;""nein"")"
ActiveSheet.Range("AE6").FormulaLocal = Formel
Formel = "=AB5-AE5-AE6"
ActiveSheet.Range("AE7").FormulaLocal = Formel
' Modul in neue Arbeitsmappe("Maßnahmenplan") übertragen
Dim sPath As String
sPath = Application.Path & "\"
ThisWorkbook.VBProject _
.VBComponents("transfer").Export sPath & "transfer.bas"
With ActiveWorkbook.VBProject
.VBComponents.Import sPath & "transfer.bas"
.VBComponents("transfer").Name = "feedback"
End With
Kill sPath & "\transfer.bas"
End Sub
Es kommt die Fehlermeldung:
Laufzeitfehler ‚50035‘:
Die Methode „Export“ für das Objekt ‚_VBComponent‘ ist fehlgeschlagen.
Ich verstehe es nicht ganz. Habt ihr einen Tip für mich was ich da falsch mache?
Gewisse "Einstellungen" habe ich bereits vorgenommen, an dem kanns nicht liegen.
Mit dieser Methode funktioniert das kopieren eines Moduls, aber ich finde die Lösung nicht so sauber:
Sub CopyMod
Dim datei As String
Dim vbP
datei = ThisWorkbook.Path & "\transfer.txt"
ThisWorkbook.VBProject.VBComponents("transfer").Export Filename:=datei
Set vbP = ActiveWorkbook.VBProject
On Error Resume Next
vbP.VBComponents.Remove vbP.VBComponents("transfer")
On Error GoTo 0
vbP.VBComponents.Import Filename:=datei
End Sub

Vielen Dank schon mal für eure Hilfe
Liebe Grüße
Stefan

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Modul in neues Arbeitsblatt kopieren
28.06.2016 11:28:40
Rookie
Habs selber herausgefunden! *grins*
Für alle die das gleiche Problem haben:
Sub Copy ()
Dim sPath As String
sPath = ThisWorkbook.Path & "\" 'Hier darf nicht "Application.Path" stehen!
ThisWorkbook.VBProject _
.VBComponents("transfer").Export sPath & "transfer.bas"
With ActiveWorkbook.VBProject
.VBComponents.Import sPath & "transfer.bas"
.VBComponents("transfer").Name = "feedback"
End With
Kill sPath & "\transfer.bas"
End Sub
Danke trotzdem an alle!
Gruß
Stefan
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige