(آموزشی) sort کردن فقط با راست کلیک کردن رو ستون

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • ali.b

    • 2014/01/12
    • 798

    (آموزشی) sort کردن فقط با راست کلیک کردن رو ستون

    با سلام و خسته نباشید
    یکی از مشکلاتی که کاربرا داشتن این بود که برای مرتب سازی مجبور بودن کلی تغییرات بدن چون فقط ستون مورد نظر تغییر میکرد و بقیه تغییری نمیکردن و باعث قاطی شدن اطلاعات میشد
    ترفند هایی هم تو انحمن براش معرفی شد این هم یک نمونه دیگه
    این کد رو قسمت Vb همون شیت ، یعنی روی شیت مورد نظر راست کلیک کنید و گزینه view code رو بزنین و در قسمت کدها قرار بدین
    از این به بعد با هر بار راست کلیک کردن رو ستون ها اطلاعات sort میشن و تمام داده های مربوط به اون به همراهش تغییر مکان میدن و چیزی از بین نمیره
    کد:
    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column > 17 Then Exit Sub
    SC = Target.Column
    
    LR = Range("A3").End(xlDown).Row
    Range("A3:Q" & LR).Select
    SortRange = Range(Cells(3, SC), Cells(LR, SC)).Address
        ActiveWorkbook.Worksheets("Total").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("Total").Sort.SortFields.Add Key:=Range(SortRange), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("Total").Sort
            .SetRange Range("A3:Q" & LR)
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
        
        Cancel = True
    End Sub
    [CENTER]
    [/CENTER]
  • ali.b

    • 2014/01/12
    • 798

    #2
    اگه سوالی بود درخدمتم
    [CENTER]
    [/CENTER]

    کامنت

    چند لحظه..