Page 1 of 1

การ Sort แบบไม่ระบุ work sheet (Macro)

Posted: Mon Jun 17, 2019 11:56 am
by demeterrr
สวัสดีครับ
คือผมต้องการ การ sort ที่ไม่ต้องระบุ work sheet ครับ สามารถใช้กับ sheet ไหนก็ได้
พยายามอัด Maco หลายๆ อย่างแต่สุดท้ายก็ไม่ได้
ActiveWorkbook.Worksheets("After ").Sort>> มันต้องระบุ Worksheet อย่างเดียวพอจะใช้กับ Sheet อื่นมัน Bug

Code: Select all

Sub Macro6()
' Macro6 Macro
    Range("A2:M21").Select
    ActiveWorkbook.Worksheets("After ").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("After ").Sort.SortFields.Add Key:=Range("M2:M21") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("After ").Sort
        .SetRange Range("A2:M21")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
ไม่ค่อยมีความรู้ในการเขียน Code เองส่วนใหญ่ผมอัด maco เอา รบกวนด้วยครับ ไปไม่ถูกจริงๆ

Re: การ Sort แบบไม่ระบุ work sheet (Macro)

Posted: Mon Jun 17, 2019 12:34 pm
by puriwutpokin
ควรแบบไฟล์ตัวอย่างมาด้วยนะครับครั้งหน้า ลองปรับเป็น

Code: Select all

Sub Macro6()
' Macro6 Macro
    Range("A2:M21").Select
    ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
    ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("M2:M21") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.ActiveSheet.Sort
        .SetRange Range("A2:M21")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Re: การ Sort แบบไม่ระบุ work sheet (Macro)

Posted: Tue Jun 18, 2019 11:23 am
by demeterrr
puriwutpokin wrote: Mon Jun 17, 2019 12:34 pm ควรแบบไฟล์ตัวอย่างมาด้วยนะครับครั้งหน้า ลองปรับเป็น

Code: Select all

Sub Macro6()
' Macro6 Macro
    Range("A2:M21").Select
    ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
    ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("M2:M21") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.ActiveSheet.Sort
        .SetRange Range("A2:M21")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
พยายามลองอัพตั้งแต่ตั้งกระทู้แล้วครับ
แต่เหมือน com ที่บริษัทจะฺ Block ไว้ทำให้อัพไม่ได้
ต้องขออภัยจริงๆ ครับ :( :(

สามารถ run Sort ได้แล้วครับ ขอบคุณมากครับ