Anzeige
Archiv - Navigation
1252to1256
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

Tabellenblätter von xls nach xlsm verschieben

Tabellenblätter von xls nach xlsm verschieben
xls
Hallo,
seit Office 2007 hat Excel das Dateiformat geändert. Jetzt muss ich aus sehr viele Mappen die noch in xls vorliegen jeweils alle Tabellenblätter in eine vorhandene Mappe im Format xlsm einfügen. das ist von Hand etwas mühsam. Ich hoffe, dass jemand schon mal vor dem gleichen Problem gestanden ist und sich hierfür ein Makro geschrieben hat, dass er mir überlassen könnte :-) Mein Dank wäre demjenigen gewiss.
Aufgabenstellung:
Mappe mit xls und xlsm heißen gleich bis auf die Dateiendung und sind im gleichen Ordner gespeichert.
Beim Verschieben der xls Tabellenblätter von Hand erhalte ich Warnmeldungen wegen einem Bereichsbezugskonflikt, welche durch bestätigen von OK (es steht eh nichts anderes zur Auswahl) durch Excel selber ausreichend gelöst werden.
Es sollen alle Tabellenblätter verschoben werden und ans Ende in der xlsm Mappe eingefügt werden (kopieren geht auch).
Die xls Mappe soll anschließend gelöscht werden.
Die Aktion wird pro Mappenpaar einzeln durchgeführt, da dies im Zuge einer Bearbeitung der xlsm Mappe erfolgen soll, d. h. es ist keine Stapelverarbeitung erforderlich.
Vorab schon Danke an alle die mich hier unterstützen.
Gruß Johannes

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Tabellenblätter von xls nach xlsm verschieben
14.03.2012 20:13:26
xls
Hallo,
und warum speicherst du die xls nicht einfach als xlsm?
Gruß
Nepumuk
AW: Tabellenblätter von xls nach xlsm verschieben
15.03.2012 08:29:23
xls
Hallo Nepumuk,
ich brauche am Ende nur 1 Mappe. Da die neuere bereits xlsm ist kann ich die alte zwar als xlsm zwischenspeichern, bringt aber nichts da ich am Ende dann 2 Mappen löschen muss (alte Mappe in xls und xlsm). Die neue Mappe ist sowieso da, das lässt sich nicht ändern.
Gruß Johannes
AW: Tabellenblätter von xls nach xlsm verschieben
16.03.2012 00:27:29
xls
Hallo Johannes,
hier ein entsprechendes Import-Makro.
Im angezeigten Dateidialog die XLSM-Datei auswählen. Den Rest macht das Makro.
Bitte unbedingt mit Sicherheitskopien in einem Testordner ausprobieren.
Die Kill-Funktion, die die nicht mehr benötigten Dateien löscht, ist gnadenlos gründlich.
Gruß
Franz
Das Makro speicherst du am besten in einer separaten Exel-Datei oder deiner persönlichen Excel-Makroarbeitsmappe.
'Makro in einem allgemeinen Modul einer Excel-Datei
'Erstellt unter Excel 2007
Sub Import_XLS_into_XLSM()
Dim strTemp As String, strXLS As String, strXLSM As String
Dim wbTemp As Workbook, wbXLS As Workbook, wbXLSM As Workbook
With Application.FileDialog(msoFileDialogOpen)
.Title = "Bitte XLSM-Datei auswählen, in die die XLS-Blätter kopiert werden sollen"
.InitialFileName = "*.XLSM"
If .Show = -1 Then
strXLSM = .SelectedItems(1)
strXLS = Left(strXLSM, Len(strXLSM) - 4) & "xls"
'Prüfen, ob XLS-Datei gleichen Namens vorhanden.
If Dir(strXLS)  "" Then
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Set wbXLSM = Application.Workbooks.Open(Filename:=strXLSM)
Set wbXLS = Application.Workbooks.Open(Filename:=strXLS)
'XLS-Datei temporär unter neuem NAmen als XLSM-Datei speichern.
strTemp = wbXLS.Path & "\" & "Temp" & wbXLSM.Name
wbXLS.SaveAs Filename:=strTemp, FileFormat:=52 'Speichern XLS als XLSM
Set wbTemp = Application.Workbooks.Open(Filename:=strTemp)
'Blätter kopieren
wbTemp.Sheets.Copy after:=wbXLSM.Sheets(wbXLSM.Sheets.Count)
wbTemp.Close savechanges:=False
'XLS-Datei und temporäre XLSM-Datei löschen
VBA.Kill strXLS
VBA.Kill strTemp
'XLSM-Datei speichern
wbXLSM.Save
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Else
MsgBox "Es gibt zur gewählten XLSM-Datei keine passende XLS-Datei im Verzeichnis"
End If
End If
End With
End Sub

Anzeige
kurz gesagt perfekt!
17.03.2012 12:54:57
Johannes
Hallo Franz,
genau das ist es. Nochmal vielen Dank!
Gruß Johannes

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige