snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Dim l As Long, tg As Range
Dim source As Range, r As Range
Dim dd As Byte, pd As Byte
With Sheets("data")
Set source = .Range("a2", .Range("a" & .Rows.Count).End(xlUp))
l = source.Count
With .Parent.Sheets("schedule")
.Range("a4").Resize(.UsedRange.Rows.Count, .UsedRange.Columns.Count) _
.ClearContents
With .Range("a4").Resize(l)
.Value = source.Value
.RemoveDuplicates Columns:=1, Header:=xlNo
End With
Set tg = .Range("a4", .Range("a" & .Rows.Count).End(xlUp))
For Each r In source
l = Application.Match(r, tg, 0) - 1
dd = Left(r.Offset(0, 5), 2)
pd = Left(r.Offset(0, 6), 2)
If pd <= dd Then
.Range("b4").Offset(l, pd).Value = "R/D"
Else
.Range("b4").Offset(l, dd).Value = "R"
.Range("b4").Offset(l, pd).Value = "D"
End If
Next r
End With
End With