Page 1 of 1

Macro | เลือกรายการที่ใช่เอาไปไว้ในที่ๆ ชอบ รบกวนด้วยครับ

Posted: Fri Jun 25, 2010 4:07 pm
by SaturdayAugust™
เรียน คุณคนควน

รบกวนสอบถามดังนี้ครับ

ผมต้องการรายการที่ Column H = x ถูกโยกไปไว้อีก Sheet หนึ่งโดยเอา Header ไปด้วยครับ
ซึ่งผมลองใช้ Script ใน attached file แล้วก็ใช้งานได้ดีครับ แต่มีปัญหาตรงที่เวลาผมมีเงื่อนไขเยอะขึ้น
และต้อง Split file ออกมากขึ้น ทำให้ Macro ช้ามากครับ เพราะมันวิ่งลงไป Delete ทุกบรรทัดที่ไม่เข้าเงื่อนไข
เนื่องจากผม Script นี้กับ file งานที่มี record มากกว่า 10,000 รายการครับ

ดังนั้นผมจึงอยากสอบถามครับ ว่ามีวิธีใดไหนหรือไม่ที่ให้ Macro วิ่งไปจับเอาเฉพาะรายการที่ใช่ เช่น x
แล้วนำเอารายการนั้นที่ใช่ไปเก็บไว้อีก Sheet หนึ่งโดยที่ Macro ทำงานได้เร็วขึ้น

จากการใช้ Script ใน attached file ผมใช้เวลา 5 นาทีต่อ 1 เงื่อนไข/ 1 file
ซึ่งผมมีทั้งหมด 10 เงื่อนไขต้องใช้เวลารวมถึง 50 นาทีน่ะครับ

รบกวนด้วยนะครับ

Re: Macro | เลือกรายการที่ใช่เอาไปไว้ในที่ๆ ชอบ รบกวนด้วยครั

Posted: Fri Jun 25, 2010 6:14 pm
by snasui
:D ลองใช้ Code ด้านล่างนี้ดูครับ แต่ก่อนที่จะ Run Code ให้ทำการเพิ่ม Sheet2 มาก่อนครับ

Code: Select all

Sub PasteXOnly()
    With Sheets("Sheet1")
        .Range("H1").AutoFilter Field:=8, Criteria1:="x"
        .Range(.Range("H1"), .Range("A65536").End(xlUp)) _
            .SpecialCells(xlCellTypeVisible).Copy
    End With
    Sheets("Sheet2").Range("A1").PasteSpecial xlPasteValues
    Sheets("Sheet1").Range("H1").AutoFilter
    Application.CutCopyMode = False
    MsgBox "Paste Finish"
End Sub