Hallo zusammen
Wie mein Name schon sagt - ich bin absoluter Neuling was VBA anbelangt. Um so glücklicher war ich, als ich diese Seite sowie diesen Threat gefunden habe. Nur leider klappts bei mir nicht. :-/
Ich habe eine Excel-Datei mit 5 Sheets. Auf Sheet 1 befinden sich Rohdaten auf welche in Sheet 2, 3, 4 und 5 in Form von Formeln zugegriffen werden. Die Datei ist riesig und ich sollte diese an jeweilige Vertriebsparnter verschicken können. Es handelt sich bereits um eine ".xlsx" -Datei
Nun würde ich gerne, wie meine Vorredner, diese Datei, nochmals, praktisch als eine Kopie von sich selbst speichern inkl. aller Tabellenblätter und Formatierungen sowie Grafiken (Ich habe zwei Sheets mit Diagrammen, welche es mir absolut GAR NICHT übernimmt....)
1.) alle Felder sollen ausschließlich nur Werte enthalten
2.) Die Datei soll auch als ."xlsx" gespeichert werden jedoch als "Newsflash VP nur Werte"
3.) Nebst der Formatierung und den Werten sollen auch die Diagramme (Liniendiagramme) in der Kopie abgebildet werden.
Momentan siehts bei mir so aus:
Sub CopyNewsFlashonlydata()
Dim wb As Workbook, ws As Worksheet, sh As Shape
Set wb = Workbooks.Add(xlWBATWorksheet)
wb.Sheets(1).Name = "deleteMe"
For Each ws In ThisWorkbook.Worksheets
ws.Copy After:=wb.Sheets(wb.Sheets.Count)
Next
For Each ws In wb.Worksheets
UsedRange.Formula = UsedRange.Value
For Each sh In ws.Shapes
sh.Delete
Next
Next
For Each Link In wb.LinkSources(xlLinkTypeExcelLinks)
wb.BreakLink Name:=Link, Type:=xlLinkTypeExcelLinks
Next
Application.DisplayAlerts = False
wb.Sheets("deleteMe").Delete
wb.SaveAs Replace(ThisWorkbook.FullName, ".xlsx", "_" & Format(Date, "yyyymmdd") & ".xlsx"), xlOpenXMLWorkbook
Application.DisplayAlerts = True
wb.Close False
End Sub
Nun erhalte ich immer den Fehler: Laufzeitfehler '424'
Objekt erforderlich
Auch zeigt es mir einen Fehler in der Zeile:
UsedRange.Formula = UsedRange.Value
Kann mir evt. jemand weiterhelfen?
Vielen lieben Dank
Lena
Bitte keine fremden Threads für eigene Fragen kapern! Wenn schon auf das Original verlinken. In neues Thema verschoben. ~fufu
Wie mein Name schon sagt - ich bin absoluter Neuling was VBA anbelangt. Um so glücklicher war ich, als ich diese Seite sowie diesen Threat gefunden habe. Nur leider klappts bei mir nicht. :-/
Ich habe eine Excel-Datei mit 5 Sheets. Auf Sheet 1 befinden sich Rohdaten auf welche in Sheet 2, 3, 4 und 5 in Form von Formeln zugegriffen werden. Die Datei ist riesig und ich sollte diese an jeweilige Vertriebsparnter verschicken können. Es handelt sich bereits um eine ".xlsx" -Datei
Nun würde ich gerne, wie meine Vorredner, diese Datei, nochmals, praktisch als eine Kopie von sich selbst speichern inkl. aller Tabellenblätter und Formatierungen sowie Grafiken (Ich habe zwei Sheets mit Diagrammen, welche es mir absolut GAR NICHT übernimmt....)
1.) alle Felder sollen ausschließlich nur Werte enthalten
2.) Die Datei soll auch als ."xlsx" gespeichert werden jedoch als "Newsflash VP nur Werte"
3.) Nebst der Formatierung und den Werten sollen auch die Diagramme (Liniendiagramme) in der Kopie abgebildet werden.
Momentan siehts bei mir so aus:
Sub CopyNewsFlashonlydata()
Dim wb As Workbook, ws As Worksheet, sh As Shape
Set wb = Workbooks.Add(xlWBATWorksheet)
wb.Sheets(1).Name = "deleteMe"
For Each ws In ThisWorkbook.Worksheets
ws.Copy After:=wb.Sheets(wb.Sheets.Count)
Next
For Each ws In wb.Worksheets
UsedRange.Formula = UsedRange.Value
For Each sh In ws.Shapes
sh.Delete
Next
Next
For Each Link In wb.LinkSources(xlLinkTypeExcelLinks)
wb.BreakLink Name:=Link, Type:=xlLinkTypeExcelLinks
Next
Application.DisplayAlerts = False
wb.Sheets("deleteMe").Delete
wb.SaveAs Replace(ThisWorkbook.FullName, ".xlsx", "_" & Format(Date, "yyyymmdd") & ".xlsx"), xlOpenXMLWorkbook
Application.DisplayAlerts = True
wb.Close False
End Sub
Nun erhalte ich immer den Fehler: Laufzeitfehler '424'
Objekt erforderlich
Auch zeigt es mir einen Fehler in der Zeile:
UsedRange.Formula = UsedRange.Value
Kann mir evt. jemand weiterhelfen?
Vielen lieben Dank
Lena
Bitte keine fremden Threads für eigene Fragen kapern! Wenn schon auf das Original verlinken. In neues Thema verschoben. ~fufu
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „fufu“ ()