Page 1 of 1

Match Data ระหว่าง 2 ชีท

Posted: Mon Jun 09, 2014 9:12 am
by niwat2811
เรียนท่านผู้รู้ เนื่องจากผมต้องการ Match Data ระหว่าง 2 ชีท
โดยที่ต้องการ นำข้อมูลที่ Sheet2 Column E มาจับคู่่กับ Sheet1 Column C และ
ข้อมูลที่ Sheet2 Column B มาจับคู่กับ Sheet1 Column B
ถ้าทั้งสองเงื่อนไขตรงกันให้นำข้อมูลที่ Sheet1 Column F
มาวางที่ Sheet2 Column F แต่พอรันมาโครแล้วได้ผลลัพธ์ไม่ถูกต้องตามต้องการครับ
Code อยู่ที่ Module 1 ชื่อ MatchData ครับ รบกวนท่านผู้รู้ช่วยชี้แนะด้วยครับ

Re: Match Data ระหว่าง 2 ชีท

Posted: Mon Jun 09, 2014 10:25 am
by snasui
:D ตัวอย่างการปรับ Code ตามด้านล่างครับ

Code: Select all

Sub MatchData()
    Dim w1 As Worksheet, w2 As Worksheet
    Dim d As Range, drng As Range
    Dim e As Range, erng As Range
    Dim b As Boolean
    Application.ScreenUpdating = False
    Set w1 = Sheets("Sheet1")
    Set w2 = Sheets("Sheet2")
    With w1
        Set drng = .Range("b1", .Range("b" & .Rows.Count).End(xlUp))
    End With
    With w2
        Set erng = .Range("b1", .Range("b" & .Rows.Count).End(xlUp))
    End With
    For Each e In erng
        b = False
        For Each d In drng
            If e.Value = d.Value And e.Offset(0, 3).Value = d.Offset(0, 1).Value Then
                e.Offset(0, 4).Value = d.Offset(0, 4).Value
                b = True
            End If
            If b = True Then Exit For
        Next d
    Next e
    Application.ScreenUpdating = True
End Sub

Re: Match Data ระหว่าง 2 ชีท

Posted: Mon Jun 09, 2014 10:48 am
by niwat2811
แจ้งผลการทดสอบครับ Code ที่ท่านอาจารย์ให้มาใช้ได้ตรงตามต้องการ ขอบคุณครับ