Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1512to1516
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

Makro per Makro Importieren

Makro per Makro Importieren
19.09.2016 15:56:54
Max
Hallo Leute,
versuche momentan per VBA-Makro ein Makro in eine andere Datei zu Importieren.
Ich füge mal den Code ein:
'=====================================================
'=
'= CSV-Datei Uploaden + Makro Import
'=
'=====================================================
Sub Import()
Dim CSVTemplate         As String
On Error GoTo ErrorHandler
With Application.FileDialog(msoFileDialogFilePicker) 'Fenster zum Auswählen der Datei
.Show
CSVTemplate = .SelectedItems(1)
End With
Application.Workbooks.OpenText Filename:=CSVTemplate, DataType:=xlDelimited, _
Semicolon:=True, Local:=True
ActiveWorkbook.SaveAs "T:\pfad\CSV-Template.xlsm", FileFormat:=52
Workbooks("T:\pfad\CSVTemplate.xlsm").VBProject.VBComponents.Import "MinStAbwMid.bas"
ErrorHandler:                                        'Um Fehlermeldung zu Vermeiden
Resume Next
End Sub
Das Klappt allerdings nicht, die ausgewählte Datei wird zwar richtig als xlsm abgespeichert aber das Makro wird nicht Importiert, Ich habe das Makro das ich Importieren will in die Datei mit dem oben zu sehenden Code drinnen.

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro per Makro Importieren
19.09.2016 16:11:30
ChrisL
Hi Max
Nimm mal den ErrorHandler (On Error Goto...) raus, damit du die Fehler siehst. N.b. Resume Next kannst du sowieso weglassen (ergibt keinen Sinn).
Ich denke bei "MinStAbwMid.bas" fehlt die Laufwerk/Pfadangabe. Und sicherlich musst du nach dem Import speichern.
cu
Chris
AW: Makro per Makro Importieren
19.09.2016 16:35:13
Max
Sub Import()
Dim CSVTemplate         As String
With Application.FileDialog(msoFileDialogFilePicker) 'Fenster zum Auswählen der Datei
.Show
CSVTemplate = .SelectedItems(1)
End With
Application.Workbooks.OpenText Filename:=CSVTemplate, DataType:=xlDelimited, _
Semicolon:=True, Local:=True
ActiveWorkbook.SaveAs "C:\Users\max.bader\Desktop\VBA_Makros\CSV\CSV-Template.xlsm", FileFormat: _
=52
'Workbooks("CSV-Template.xlsm").Close savechanges:=True
Workbooks("C:\Users\Hey_das_bin_ich\Desktop\VBA_Makros\CSV\CSV-Template").VBProject. _
VBComponents.Import ("C:\Users\wieder_ich\Desktop\VBA_Makros\Makro\MinStAbwMid.bas")
End Sub
Der geliebte Debugger sagt mir Laufzeitfehler 9, Index außerhalb des gültigen Bereichs.
Ist der Pfad schon zu lang ?
Hatte das ganze vorher auf einem Netzlaufwerk, mit kürzerem Pfad, gleiche Fehlermeldung.
Es interessiert ihn nicht wo es gespeichert ist, ob Dateiendung dabei ist oder nicht oder ob ich es vorher speichere (ich hab das speichern nur zu test gründen als Kommentar, habs natürlich schon ausprobiert)
Anzeige
AW: Makro per Makro Importieren
19.09.2016 16:46:13
ChrisL
Hi
Hier fehlt noch die Dateiendung:
Workbooks("C:\Users\Hey_das_bin_ich\Desktop\VBA_Makros\CSV\CSV-Template")
Vielleicht schöner wäre mit Variable
Sub Import()
Dim CSVTemplate         As String
Dim WB As Workbook
With Application.FileDialog(msoFileDialogFilePicker) 'Fenster zum Auswählen der Datei
.Show
CSVTemplate = .SelectedItems(1)
End With
Application.Workbooks.OpenText Filename:=CSVTemplate, DataType:=xlDelimited, _
Semicolon:=True, Local:=True
Set WB = ActiveWorkbook
WB.SaveAs "C:\Users\max.bader\Desktop\VBA_Makros\CSV\CSV-Template.xlsm", FileFormat: _
=52
'Workbooks("CSV-Template.xlsm").Close savechanges:=True
WB.VBProject.VBComponents.Import ("C:\Users\wieder_ich\Desktop\VBA_Makros\Makro\MinStAbwMid.bas" _
)
End Sub

cu
Chris
Anzeige
AW: Makro per Makro Importieren
19.09.2016 16:58:56
Max
Danke der fehler ist schonmal weg :D
jetzt kommt "Die Methode VBProject für das Objekt_Workbook ist fehlgeschlagen"
ist vielleicht "FileFormat:=52" das falsche ?
AW: Makro per Makro Importieren
19.09.2016 17:27:24
snb
Bitte strukturiere eine Macro
Sub M_snb()
With Application.FileDialog(3)
If .Show Then
With Workbooks.Open(.SelectedItems(1))
.VBProject.VBComponents.Import "T:\pfad\MinStAbwMid.bas"
.SaveAs "T:\pfad\CSV-Template.xlsm", 52
.Close 0
End With
End If
End With
End Sub

AW: Folgethread, oder?
19.09.2016 20:02:36
Michael
Hi,
vielleicht nochmal ganz langsam:
Du nimmst ...
a) eine "Master-Datei", in der Deine userform und alles drin ist,
b) eine "Makro-Vorlagen-Datei", die quasi nix außer dem Makro und einem mit den "eingelesenen CSV-Daten" zu befüllenden Blatt enthält
Dann öffnest Du die CSV-Datei mit a), kopierst sie (die Daten halt) in b) und speicherst b) ab - fertig.
Gruß,
M.
AW: Folgethread, oder?
19.09.2016 23:02:30
Max
Ja ist ein Folgethread und vielen dank an alle!
Tut mir leid wenn meine Codes kaotisch sind, habe vor kurzem erst angefangen und mit Foren kenne ich mich leider auch nicht so aus ... :/
Verzeiht mir bitte meine Fehler.
Anzeige
kein Problem - Problem im Griff?
20.09.2016 14:52:20
Michael
Gruß,
M.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige