Hi, papereditnow,
give this code a chance:
Sub EF939490()
Dim lngCol As Long
Dim rngArea As Range
Dim lngLast As Long
Dim wsParts As Worksheet
Set wsParts = Sheets("Parts")
With wsParts
lngLast = .Range("A" & Rows.Count).End(xlUp).Row
.Range("A1:K" & lngLast).AutoFilter
For lngCol = 5 To .Cells(1, Columns.Count).End(xlToLeft).Column
.Range("A1:K" & lngLast).AutoFilter Field:=lngCol, Criteria1:="<>"
If .Range("A" & Rows.Count).End(xlUp).Row > 1 Then
Set rngArea = .Range("A1:D" & lngLast)
Set rngArea = Union(rngArea, .Range(.Cells(1, lngCol), .Cells(lngLast, lngCol)))
rngArea.Copy
Sheets.Add after:=Sheets(Sheets.Count)
Range("A1").PasteSpecial
ActiveSheet.Name = Range("E1").Value
.Range("A1:K" & lngLast).AutoFilter
End If
Next lngCol
End With
Set wsParts = Nothing
End Sub
Ciao,
Holger
Bookmarks