สวัสดีอาจารย์และท่านผู้รู้คะ
ต่อยอดจากชีทที่แล้วคะ ดิฉันอยากทราบว่าถ้าเราต้องการดึงช่วงข้อมูลมาแสดงที่อยู่ระหว่าง LOT 0140 ชีท M_BOM คอลัมน์ "child" ที่อยู่ในช่วงของ LOT 0140 ทั้งหมดควรปรับปรุงหรือใช้ฟังก์ชันใดเพิ่มเติมดีคะ รบกวนอาจารย์และท่านผู้รู้ให้คำแนะนำด้วยคะ
ยกตัวอย่างเช่น 0E010T01 LOT 0140
ที่ชีท M_BOM เซลล์ C:C คือ SLOT หมายถึง START LOT
D:D คือ ELOT หมายถึง END LOT
child SLOT ELOT
A 0011 0139 No
B 0011 9999 Ok
C 0140 0145 Ok
D 0150 0160 No
E 0140 0140 Ok
เงื่อนไข SLOT<=LOT<= ELOT
A 0011 0140 0139 No
D 0150 0140 0160 No
B 0011 0140 0140 OK
Code: Select all
With Sheets("M_BOM")
Set rBomAll = .Range("a2", .Range("a" & .Rows.Count).End(xlUp))
Sheets("Sheet3").Range("a" & Rows.Count).End(xlUp).Offset(1, 0) _
= Sheets("Sheet2").Range("a2")
For Each rBom In rBomAll
With Sheets("Sheet2")
If rBom = .Range("a2") And rBom.Offset(0, 2) = .Range("b2") Then
Sheets("Sheet3").Range("b" & .Rows.Count) _
.End(xlUp).Offset(1, 0) = rBom.Offset(0, 1)
End If
End With
Next rBom
End With