Sub Loc()
On Error Resume Next
Dim HC As Long
Dim i As Long
Dim ND As Date
Dim NC As Date
Dim Ma As Range
Dim BC As String
Dim Tim As Boolean
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
HC = S04.Range("E65500").End(xlUp).Row
S04.Select
S04.Range("A8:I" & HC + 1).ClearContents
S04.Range("A9:L" & HC + 2).Select
Call NLine
ND = S04.Range("E2").Value
NC = S04.Range("F2").Value
HC = S03.Range("A65000").End(xlUp).Row
Tim = False
i = 7
For Each Ma In S03.Range("A2:A" & HC)
'MsgBox Ma
If Ma.Offset(0, 4).Value >= ND And Ma.Offset(0, 4).Value <= NC Then
If Ma.Offset(0, 3) = S04.Range("D4") Or S04.Range("D4") = "" Then
If Ma.Offset(0, 8) = S04.Range("D5") Or S04.Range("D5") = "" Then
If Ma.Offset(0, 6) = S04.Range("G4") Or S04.Range("G4") = "" Then
If Ma.Offset(0, 10) = S04.Range("G5") Or S04.Range("G5") = "" Then
Tim = True
End If: End If: End If: End If: End If
If Tim = True Then
i = i + 1
Range("A" & i) = i - 7
Range("B" & i) = Ma
Range("D" & i) = Ma.Offset(0, 4)
Range("C" & i) = Ma.Offset(0, 3)
Range("C" & i) = WorksheetFunction.VLookup(Range("C" & i), S01.Range("Model"), 1, 0)
Range("E" & i) = Ma.Offset(0, 6)
If Range("E" & i) <> "" Then Range("F" & i) = WorksheetFunction.VLookup(Range("E" & i), S01.Range("Dename"), 2, 0)
Range("E" & i) = Ma.Offset(0, 6)
If Range("E" & i) <> "" Then Range("F" & i) = WorksheetFunction.VLookup(Range("E" & i), S01.Range("Dename"), 2, 0)
Range("G" & i) = Ma.Offset(0, 8)
Range("G" & i) = WorksheetFunction.VLookup(Range("G" & i), S01.Range("Item"), 1, 0)
Range("I" & i) = Ma.Offset(0, 10)
Range("I" & i) = WorksheetFunction.VLookup(Range("I" & i), S01.Range("DClass"), 1, 0)
Range("H" & i) = Ma.Offset(0, 9)
End If
Tim = False
Next
If i < 10 Then i = 10
S04.Range("G" & i + 2) = "SUM"
S04.Range("H" & i + 2) = WorksheetFunction.Sum(S04.Range("H8:H" & i))
S04.Range("A9:I" & i + 1).Select
Call YLine
S04.Range("A" & i + 2 & ":I" & i + 2).Select
Call YLineTC
Range("G5").Select
Application.EnableEvents = True
Set Ma = Nothing
Application.ScreenUpdating = True
End Sub