einige Tabellenblätter als Werte in neue Datei
25.07.2006 09:29:34
{mskro}
ich habe immer noch ein unglöstes Problem, was in einem eigenen Thread besser aufgehoben ist. Dank Matthias G bin ich nun zwar in der Lage die ganze Datei nur mit Werten zu Kopieren. Es sollen aber nur bestimmte Tabellenblätter kopiert werden und die Makros der Ursprungsmappe nicht mit kopiert werden. Hat jemand eine Idee, wie das VBA dazu aussehen müsste?
Derzeit mache ich das mit:
Sub Test() Lösung von {mskro}
Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3", "Tabelle4")).Select ca 20 Tabellenblätter
Sheets("Tabelle1").Activate
Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3", "Tabelle4")).Copy
End Sub
Hierbei werden allerdings auch die darin enthaltenen Sverweise mit kopiert, die nicht benötigt werden und das ganz sehr lange dauern lassen (über 500 komplexe SVerweise).
Sub Kopiere_Werte() Lösung von Matthias G
Dim fn As String, sh As Worksheet
Dim calcMode
With ActiveWorkbook
fn = "Werte_" & .Name
If Not .Saved Then .Save
.SaveAs Filename:=.Path & "\" & fn
calcMode = Application.Calculation
Application.Calculation = xlCalculationManual
For Each sh In .Worksheets
sh.Cells.Copy
sh.Cells.PasteSpecial Paste:=xlPasteValues
Next sh
Application.Calculation = calcMode
Application.CutCopyMode = False
.Save
End With
End Sub
Wer ist vielleicht in der Lage, daraus eine komplette Version zu machen, die meine Wünsche erfüllt?
Gruss Manfred