25. september 2008 - 08:21Der er
14 kommentarer og 1 løsning
For each sheet..
Hej,
Jeg har en ret avanceret workbook, som jeg ønsker en gang i mellem at gemme. Dog uden formler og links i.
Jeg har forsøgt lidt, og er nået frem til:
Option Explicit
Sub SaveCopy() Dim ws As Worksheet Dim i As Integer
i = 1 For Each ws In Worksheets ws.Cells.Copy ws.Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False ws.Cells.ClearComments i = i + 1 Next ws
End Sub
Det virker dog ikke. Har en ide om at det er mine grafer som ødelægger det, kan det passe?
Det er muligt, men i givet fald forstår jeg ikke hvorfor. Du kopiere alle celler, og indsætter dem derefter igen. Har du prøvet kun at kopiere relevante celler, og så indsætte disse igen?
Ikke så vidt jeg husker, men alt, hvad der kopieres, skal jo gemmes i RAM, og derefter indsættes. Så hvis der er mange data i de enkelte ark, kan dette måske forårsage problemet.
Private Declare Function EmptyClipboard Lib "user32" () As Long Private Declare Function CloseClipboard Lib "user32" () As Long Private Declare Function OpenClipboard Lib "user32" (ByVal hWnd As Long) As Long Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Sub EmptyCB() Dim hWnd As Long hWnd = FindWindow("XLMAIN", Application.Caption) OpenClipboard hWnd EmptyClipboard CloseClipboard End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.