ich habe mir mit Hilfe/Makrorekorder diesen Code zusammengebaut:
Dim wb As Workbook, wbneu As Workbook
Dim intI As Integer
Dim astrLinks As Variant
Set wb = ThisWorkbook
ThisWorkbook.Sheets("Data").Copy
Set wbneu = ActiveWorkbook
Application.DisplayAlerts = False
With wbneu
.SaveAs Filename:="Data from " & Format(Now, "DD.MM.YYYY hhmmss") & ".xls", _
FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=True, _
CreateBackup:=False, AddToMRU:=True
astrLinks = wbneu.LinkSources(Type:=xlLinkTypeExcelLinks) 'Link(s) zur Quelldatei _
entfernen (ersetzt Formeln durch Werte)
For intI = LBound(astrLinks) To UBound(astrLinks)
wbneu.BreakLink _
Name:=astrLinks(intI), _
Type:=xlLinkTypeExcelLinks
Next
.Save
.Close
Application.DisplayAlerts = True
.Close savechanges:=False
MsgBox "Eine Kopie der Datei wurde auf dem Desktop gespeichert!", vbInformation
End With
Ich habe ein Problem, dass der Code mit dem astrLinks... nicht zu meinem Tabellenblatt passt. Dort habe ich lediglich drei CommandButtons, von denen einer diesen Code ausführt. Dieser soll im wbneu unterbunden werden, um nicht noch ein Sheet aus dem neuen Sheet machen zu können. Zusätzlich würde ich gerne die Datei auf dem Desktop abspeichern können und das neue Sheet unbemerkt schließen. Die Befehle mit .Save und .Close funktionieren nicht?! Am besten sollte der Code nicht in das neue Sheet springen, da ich sonst wieder in mein altes Dokument zurück muss...
Könnt ihr mir beim Tuning aushelfen?
Viele Grüße, Peter