ปรับตามนี้นะครับ น่าจะใช้ได้แล้ว ผมลองรันแล้ว ผ่าน
ปล. item ที่ 25และ26 ผลลัพธ์ไม่เหมือนตัวอย่างที่ให้มา เพราะว่า ERC NO นั้น VLOOKUp ตรวจพบ เท่ากับวันที่ 16-jan-18 เป็นตัวแรก
จะได้ผลลัพธ์เท่ากับ 16-jan-18
แต่ตัวอย่างผลลัพธ์ที่ได้ จะเท่ากับ 4-Jan-18
Code: Select all
Sub test()
Dim x As Integer, NumRows As Integer
Dim l As Integer
On Error Resume Next
Application.ScreenUpdating = False
With Sheets("Sheet1")
NumRows = .Range("B3", .Range("B" & Rows.Count).End(xlUp)).Rows.Count
NumRows = NumRows + 2
End With
For x = 3 To NumRows
If Cells(x, 3).Value = "ECR Approval" Then
Cells(x, 47).Value = Cells(x, 5)
ElseIf Cells(x, 3).Value = "DCN Approval" Then
Cells(x, 47).Value = Cells(x, 5)
ElseIf Cells(x, 3).Value = "Drawing Release" Then
Cells(x, 47).Value = Cells(x, 5)
Else
Cells(x, 47).Value = Cells(x, 3)
End If
Cells(x, 3).Offset(1, 0).Select
'x = x + 1
Next x
l = Worksheets("Sheet1").Range("A2").End(xlDown).Row
For x = 3 To NumRows
With ActiveSheet
.Cells(x, 48).Value = Application.IfError(Application.VLookup(.Cells(x, 47).Value, .Range("E:AK"), 33, 0), "")
End With
Next x
Application.ScreenUpdating = True
End Sub