Three things
1) I wouldn't use activesheet since the workbooks are going to
change
2) Your worksheet add doesn't have a before or after which means a
new workbook will be created. Is that what you want.
3) I would copy the autofilter results using special cells with the
property visible.
Sheets("A").Unprotect
Application.ScreenUpdating = False
Dim bok As Workbook
Dim blad As Worksheet
Dim Period As Date
Dim Avslut As Date
Dim Rapportmånad As String
Set oldsht = ActiveSheet
Rapportmånad = oldsht.Range("B3")
Set bok = Workbooks.Add
With Workbooks("C").Sheets("Adata")
Period = .Range("b3")
Avslut = .Range("B4")
ListObjects("Atabell").Range.AutoFilter
ListObjects("Atabell").Range.AutoFilter Field:=21, _
Criteria1:="<=" & Range("b3").Value, _
Operator:=xlOr, _
Criteria2:="="
ListObjects("Atabell").Range.AutoFilter Field:=23, _
Criteria1:="" & Range("b4").Value, _
Operator:=xlOr, _
Criteria2:="="
ListObjects("Atabell").Range.AutoFilter Field:=2, _
Criteria1:="3919"
ListObjects("Astratabell").specialcellss(xlCellTyp eVisible).Copy
End With
With bok
Set blad = .Worksheets.Add(after:=.Sheets(.Sheets.Count))
blad.Name = "3919"
Worksheets("3919").Range("A1").PasteSpecial _
pste:=xlPasteFormats
Worksheets("3919").Range("A1").PasteSpecial _
Paste:=xlPasteValues
End With
--
joel
------------------------------------------------------------------------
joel's Profile: 229
View this thread:
http://www.thecodecage.com/forumz/sh...d.php?t=170389
Microsoft Office Help