Excel 2010 per makro tabellenblatt in neue Datei
Betrifft: Excel 2010 per makro tabellenblatt in neue Datei
von: heinz
Geschrieben am: 08.09.2014 13:38:00
hallo zusammen,
ich habe eine datei, die aus ca. 20 tabellenblättern besteht.
diese müssen allerdings jeweils in eine eigene datei kopiert werden.
aktuell nutze ich hierfür folgendes makro:
Sub BlaetterEinzelnSpeichern()
Dim strVerzeichnis As String
Dim shBlatt As Worksheet
strVerzeichnis = "c:\user\desktop\" 'mit "\" am Ende !!!
For Each shBlatt In ActiveWorkbook.Worksheets
If shBlatt.[A6] <> "" Then
shBlatt.Copy
ActiveWorkbook.SaveAs strVerzeichnis & "\2014-08 " & ActiveSheet.[A6].Value & " _
Blatt1.xlsx"
ActiveWorkbook.Close False
Else
MsgBox shBlatt.Name, vbOKOnly + vbCritical, "Fehlender Dateiname in A6 in Blatt "
End If
Next
End Sub
Allerdings ist mein problem, dass mit diesem makro immernoch eine verknüpfung zur usprungsdatei bestehen bleibt, die ich aktuell manuell entferne (verknüpfung löschen).
Perfekt wäre es, wenn zukünftig die verknüpfung automatsich entfernt wird, allerdings sollten bestehende formeln erhalten bleiben.
wäre es möglich dies in das makro zu integrieren?
vielen dank vorab für eure hilfe!
Betrifft: AW: Excel 2010 per makro tabellenblatt in neue Datei
von: fcs
Geschrieben am: 08.09.2014 14:28:40
Hallo Heinz,
das Löschen de Verknüpfungen ist kein Problem. Aller dings wird in jeder Formel mir einer Verknüpfung immer die Formel durch den Zellwert ersetzt. Die Formeln werden also überschrieben.
Gruß
Franz
Sub BlaetterEinzelnSpeichern()
Dim strVerzeichnis As String
Dim shBlatt As Worksheet, varItem
strVerzeichnis = "c:\user\desktop\" 'mit "\" am Ende !!!
For Each shBlatt In ActiveWorkbook.Worksheets
If shBlatt.[A6] <> "" Then
shBlatt.Copy
With ActiveWorkbook
varItem = .LinkSources(Type:=xlExcelLinks)
If Not IsEmpty(varItem) Then
For Each varItem In .LinkSources(Type:=xlExcelLinks)
.BreakLink Name:=varItem, Type:=xlLinkTypeExcelLinks
Next
End If
End With
ActiveWorkbook.SaveAs strVerzeichnis & "2014-08 " & ActiveSheet.[A6].Value _
& "Blatt1.xlsx", FileFormat:=51
ActiveWorkbook.Close False
Else
MsgBox shBlatt.Name, vbOKOnly + vbCritical, "Fehlender Dateiname in A6 in Blatt "
End If
Next
End Sub
 |
Betrifft: AW: Excel 2010 per makro tabellenblatt in neue Datei
von: heinz
Geschrieben am: 08.09.2014 16:09:54
Hallo Franz,
vielen lieben dank, das funktioniert perfekt!
Das die Formeln der Verknüpfungen weg sind ist kein problem, mir ging es nur um Summenformeln etc, die sich nicht auf die verknüpfungen bezogen haben :)
eine frage noch.
was müsste ich ändern, um mit dem code *.xlsm Dateien erstellen zu können?
Betrifft: AW: Excel 2010 per makro tabellenblatt in neue Datei
von: fcs
Geschrieben am: 08.09.2014 17:02:02
Hallo Heinz,
hier anpassen:
ActiveWorkbook.SaveAs strVerzeichnis & "2014-08 " & ActiveSheet.[A6].Value _
& "Blatt1", FileFormat:=52
Die Dateinamens-Erweiterung kann man weglassen, Excel fügt sie automatisch an entsprechend dem Dateiformat.
Gruß
Franz
Betrifft: AW: Excel 2010 per makro tabellenblatt in neue Datei
von: heinz
Geschrieben am: 09.09.2014 17:14:13
Hallo Franz,
und klappt wieder perfekt.
vielen lieben dank!
thema is durch :)
Beiträge aus den Excel-Beispielen zum Thema "Excel 2010 per makro tabellenblatt in neue Datei"