Here a first stab at it. Doesn't do anything with OUTTOL information though.
Sub Summary()
Dim shtSummary As Worksheet
Dim shtData As Worksheet
Dim lngNRows As Long
Dim vntCol As Variant
Dim lngRow As Long
With ActiveWorkbook
.Worksheets(.Worksheets.Count).Copy after:=.Worksheets(.Worksheets.Count)
Set shtSummary = .Worksheets(.Worksheets.Count)
Intersect(shtSummary.UsedRange, shtSummary.Range("F:V")).Clear
Intersect(shtSummary.UsedRange, shtSummary.Range("D:D")).Delete
End With
lngNRows = shtSummary.UsedRange.Rows.Count
With ActiveWorkbook.Worksheets(1)
.Columns(7).Copy shtSummary.Cells(1, 5)
.Columns(8).Copy shtSummary.Cells(1, 6)
.Columns(8).Copy shtSummary.Cells(1, 7)
.Columns(12).Copy shtSummary.Cells(1, 8)
.Columns(12).Copy shtSummary.Cells(1, 9)
.Columns(13).Copy shtSummary.Cells(1, 10)
End With
For lngRow = 1 To shtSummary.UsedRange.Rows.Count
If shtSummary.Cells(lngRow, 3) = "DESCRIPTION" Then
shtSummary.Range(shtSummary.Cells(lngRow, 4), shtSummary.Cells(lngRow, 10)) = Array("AXIS", "NOMINAL", "MIN", "MAX", "DEV MIN", "DEV MAX", "OUTTOL")
End If
Next
For Each shtData In ActiveWorkbook.Worksheets
If shtData.Name <> shtSummary.Name Then
For lngRow = 1 To lngNRows
If shtData.Cells(lngRow, 5) <> "AXIS" Then
'MIN
If shtData.Cells(lngRow, 8).Value < shtSummary.Cells(lngRow, 6).Value Then
shtSummary.Cells(lngRow, 6).Value = shtData.Cells(lngRow, 8).Value
End If
'MAX
If shtData.Cells(lngRow, 8).Value > shtSummary.Cells(lngRow, 7).Value Then
shtSummary.Cells(lngRow, 7).Value = shtData.Cells(lngRow, 8).Value
End If
'DEV MIN
If shtData.Cells(lngRow, 12).Value < shtSummary.Cells(lngRow, 8).Value Then
shtSummary.Cells(lngRow, 8).Value = shtData.Cells(lngRow, 12).Value
End If
'DEV MAX
If shtData.Cells(lngRow, 12).Value > shtSummary.Cells(lngRow, 9).Value Then
shtSummary.Cells(lngRow, 9).Value = shtData.Cells(lngRow, 12).Value
End If
End If
Next
End If
Next
End Sub
Bookmarks