Excel Makro zur Konvertierung einer xls oder xlsx in das Frormat xlsm
Liebes Forum,
vielleicht könnt Ihr mir wieder bei einem Problem aus der Excel-VBA umgebung weiterhelfen. Folgender Hintergrund dazu:
In einem Verzeichnis habe ich ca. 500 Dateien (gleiche Struktur, Aufbau aber sehr unterschiedliche Namen) im Format *.xls.
Ich möchte jetzt mit einem Makro beim Öffnen der einzelnen Dateien folgendes erreichen:
- Speichern und Konvertieren in das aktuelle Format von Excel
- Speichern als *.xlsm Datei
- Import einer Datei „Modul.bas“
- Speichern der Datei mit gleichem Pfad und Dateiname wie die Quelle
Ich habe selbst ein wenig herumprobiert, scheitere aber immer wieder am fehlerfreien Speichern der Quelldatei mit dem neuen Format *.xlsm. idealerweise sollte das Makro in der persönlichen Makroarbeitsmappe abgelegt sein. Anbei meine Entwürfe dazu, vieles funktioniert aber irgendetwas ist noch falsch. Nach Ablauf des Makros ist die neue Datei nicht nutzbar, Arbeitsblätter fehlen.
Anbei der Code, könnt Ihr mir helfen, wo steckt der Fehler….
vielleicht könnt Ihr mir wieder bei einem Problem aus der Excel-VBA umgebung weiterhelfen. Folgender Hintergrund dazu:
In einem Verzeichnis habe ich ca. 500 Dateien (gleiche Struktur, Aufbau aber sehr unterschiedliche Namen) im Format *.xls.
Ich möchte jetzt mit einem Makro beim Öffnen der einzelnen Dateien folgendes erreichen:
- Speichern und Konvertieren in das aktuelle Format von Excel
- Speichern als *.xlsm Datei
- Import einer Datei „Modul.bas“
- Speichern der Datei mit gleichem Pfad und Dateiname wie die Quelle
Ich habe selbst ein wenig herumprobiert, scheitere aber immer wieder am fehlerfreien Speichern der Quelldatei mit dem neuen Format *.xlsm. idealerweise sollte das Makro in der persönlichen Makroarbeitsmappe abgelegt sein. Anbei meine Entwürfe dazu, vieles funktioniert aber irgendetwas ist noch falsch. Nach Ablauf des Makros ist die neue Datei nicht nutzbar, Arbeitsblätter fehlen.
Anbei der Code, könnt Ihr mir helfen, wo steckt der Fehler….
Sub Aufbereiten()
With ActiveWorkbook.VBProject
.VBComponents.Import "C:\Users\KaunA\Desktop\Modul1.bas"
End With
Dim pfad As String
Dim datei As String
Dim filename As String
filename = ActiveWorkbook.Name
If InStr(filename, ".") > 0 Then
filename = Left(filename, InStr(filename, ".") - 1)
End If
pfad = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
pfad = ActiveWorkbook.Path & "\" & filename
datei = Application.GetSaveAsFilename(InitialFileName:=pfad, filefilter:="Excel Arbeitsmappe mit aktivierten Makros (*.xlsm), *.xlsm")
If datei = "Falsch" Then Exit Sub
ThisWorkbook.SaveAs filename:=datei, FileFormat:=xlOpenXMLWorkbookMacroEnabled
'
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 375325
Url: https://administrator.de/contentid/375325
Ausgedruckt am: 22.11.2024 um 13:11 Uhr
3 Kommentare
Neuester Kommentar
Hi,
am Rande:
https://msdn.microsoft.com/de-de/vba/excel-vba/articles/application-gets ...
E.
am Rande:
If datei = "Falsch" Then Exit Sub
Sieht falsch aus.https://msdn.microsoft.com/de-de/vba/excel-vba/articles/application-gets ...
Gibt False zurück, wenn der Benutzer das Dialogfeld abbricht.
if vartype(datei) = vbBoolean then
If not datei then exit sub
end if
E.
Hier gefunden
Doc Dokumente leicht in .docx umwandeln
Doc Dokumente leicht in .docx umwandeln
Das Skript verarbeitet die folgende alten Office-Dateierweiterungen für Excel, Word und Powerpoint '*.xls','*.xlt','*.doc','*.dot','*.ppt','*.pot','*.pps' und wandelt sie in Ihre entsprechenden neuen Verwandten um (unter Beachtung ob mit oder ohne Makroprojekt). Ein installiertes Office ist Voraussetzung.