مشاركة عبر


كيفية القيام بما يلي: فرز البيانات في أوراق العمل برمجياً

ينطبق على

تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات Microsoft Office التالية: لمزيد من المعلومات، راجع الميزات المتوفرة بواسطة تطبيقات Office و نوع المشروع.

نوع المشروع

  • مشروعات على مستوى المستند

  • مشروعات على مستوى التطبيق

إصدار Microsoft Office

  • Excel 2007

  • Excel 2010

يمكنك فرز البيانات الموجودة في قوائم و نطاقات ورقة العمل في وقت التشغيل. التعليمة البرمجية التالية تفرز نطاقا بأعمدة متعددة يسمى Fruits حسب البيانات في العمود الأول ثم حسب البيانات في العمود الثاني

فرز بيانات في تخصيصات من مستوى المستندات

لفرز البيانات في عنصر تحكم NamedRange (نطاق مسمى)

  • قم باستدعاء الأسلوب Sort من عنصر التحكم NamedRange . يتطلب المثال التالي عنصر تحكم NamedRange يسمى Fruits على ورقة العمل. يجب وضع هذه التعليمة البرمجية في فئة ورقة، وليس في الفئة ThisWorkbook.

    Me.Fruits.Sort( _
        Key1:=Me.Fruits.Columns(1), Order1:=Excel.XlSortOrder.xlAscending, _
        Key2:=Me.Fruits.Columns(2), Order2:=Excel.XlSortOrder.xlAscending, _
        Orientation:=Excel.XlSortOrientation.xlSortColumns, _
        Header:=Excel.XlYesNoGuess.xlNo, _
        SortMethod:=Excel.XlSortMethod.xlPinYin, _
        DataOption1:=Excel.XlSortDataOption.xlSortNormal, _
        DataOption2:=Excel.XlSortDataOption.xlSortNormal, _
        DataOption3:=Excel.XlSortDataOption.xlSortNormal)
    
    this.Fruits.Sort(
        this.Fruits.Columns[1, missing], Excel.XlSortOrder.xlAscending,
        this.Fruits.Columns[2, missing], missing, Excel.XlSortOrder.xlAscending,
        missing, Excel.XlSortOrder.xlAscending,
        Excel.XlYesNoGuess.xlNo, missing, missing, 
        Excel.XlSortOrientation.xlSortColumns,
        Excel.XlSortMethod.xlPinYin,
        Excel.XlSortDataOption.xlSortNormal,
        Excel.XlSortDataOption.xlSortNormal,
        Excel.XlSortDataOption.xlSortNormal); 
    

ضع التعليمات البرمجية التالية في Sheet1.vb أو Sheet1.cs لفرز البيانات في عنصر التحكم ListObject . التعليمات البرمجية تفترض أن يكون لديك عنصر تحكم Microsoft.Office.Tools.Excel.ListObject يسمى fruitList في ورقة عمل المسماة Sheet1.

لفرز بيانات في عنصر تحكم ListObject

  • قم باستدعاء أسلوب Sort من الخاصية Range من عنصر التحكم المضيف ListObject .

    Me.fruitList.Range.Sort( _
        Key1:=Me.fruitList.ListColumns(1).Range, Order1:=Excel.XlSortOrder.xlAscending, _
        Key2:=Me.fruitList.ListColumns(2).Range, Order2:=Excel.XlSortOrder.xlAscending, _
        Orientation:=Excel.XlSortOrientation.xlSortColumns, _
        Header:=Excel.XlYesNoGuess.xlYes)
    
    this.fruitList.Range.Sort(
        this.fruitList.ListColumns[1].Range, Excel.XlSortOrder.xlAscending,
        this.fruitList.ListColumns[2].Range, missing, Excel.XlSortOrder.xlAscending,
        missing, Excel.XlSortOrder.xlAscending, 
        Excel.XlYesNoGuess.xlYes, missing, missing, 
        Excel.XlSortOrientation.xlSortColumns,
        Excel.XlSortMethod.xlPinYin, 
        Excel.XlSortDataOption.xlSortNormal,
        Excel.XlSortDataOption.xlSortNormal,
        Excel.XlSortDataOption.xlSortNormal);
    

فرز البيانات في الوظيفة الإضافية على مستوى التطبيقات

لفرز البيانات في نطاق أصلي

  • قم باستدعاء الأسلوب Sort من عنصر تحكم Excel الأصلي Microsoft.Office.Interop.Excel.Range . المثال التالي يتطلب عنصر تحكم Excel Fruits أصلي على ورقة العمل.

    Dim Fruits As Excel.Range = Me.Application.Range("A1", "B2")
    Fruits.Sort( _
        Key1:=Fruits.Columns(1), Order1:=Excel.XlSortOrder.xlAscending, _
        Key2:=Fruits.Columns(2), Order2:=Excel.XlSortOrder.xlAscending, _
        Orientation:=Excel.XlSortOrientation.xlSortColumns, _
        Header:=Excel.XlYesNoGuess.xlNo, _
        SortMethod:=Excel.XlSortMethod.xlPinYin, _
        DataOption1:=Excel.XlSortDataOption.xlSortNormal, _
        DataOption2:=Excel.XlSortDataOption.xlSortNormal, _
        DataOption3:=Excel.XlSortDataOption.xlSortNormal)
    
    Excel.Range Fruits = Application.get_Range("A1", "B3");
        Fruits.Sort(
        Fruits.Columns[1, missing], Excel.XlSortOrder.xlAscending,
        Fruits.Columns[2, missing], missing, Excel.XlSortOrder.xlAscending,
        missing, Excel.XlSortOrder.xlAscending,
        Excel.XlYesNoGuess.xlNo, missing, missing,
        Excel.XlSortOrientation.xlSortColumns,
        Excel.XlSortMethod.xlPinYin,
        Excel.XlSortDataOption.xlSortNormal,
        Excel.XlSortDataOption.xlSortNormal,
        Excel.XlSortDataOption.xlSortNormal); 
    

لفرز بيانات في عنصر تحكم ListObject

  • قم باستدعاء الأسلوب Sort من الخاصية Range الخاصة بعنصر تحكم Excel الأصلي Microsoft.Office.Interop.Excel.ListObject. المثال التالي يفترض وجود عنصر تحكم Excel أصلي Microsoft.Office.Interop.Excel.ListObject يسمى fruitList في ورقة العمل النشطة.

    Dim fruitList As Excel.ListObject = CType(Application.ActiveSheet,  _
        Excel.Worksheet).ListObjects.AddEx(Excel.XlListObjectSourceType.xlSrcRange, _
        Application.Range("A1", "B2"))
    fruitList.Range.Sort( _
    Key1:=fruitList.ListColumns(1).Range, Order1:=Excel.XlSortOrder.xlAscending, _
    Key2:=fruitList.ListColumns(2).Range, Order2:=Excel.XlSortOrder.xlAscending, _
    Orientation:=Excel.XlSortOrientation.xlSortColumns, _
    Header:=Excel.XlYesNoGuess.xlYes)
    
    Excel.ListObject fruitList = 
         ((Excel.Worksheet)Application.ActiveSheet).
             ListObjects.Add(Microsoft.Office.Interop.Excel.XlListObjectSourceType.xlSrcRange,
             Application.get_Range("A1", "B3"), 
             missing, Microsoft.Office.Interop.Excel.XlYesNoGuess.xlNo, missing); 
        fruitList.Range.Sort(
            fruitList.ListColumns[1].Range, Excel.XlSortOrder.xlAscending,
            fruitList.ListColumns[2].Range, missing, Excel.XlSortOrder.xlAscending,
            missing, Excel.XlSortOrder.xlAscending,
            Excel.XlYesNoGuess.xlYes, missing, missing,
            Excel.XlSortOrientation.xlSortColumns,
            Excel.XlSortMethod.xlPinYin,
            Excel.XlSortDataOption.xlSortNormal,
            Excel.XlSortDataOption.xlSortNormal,
            Excel.XlSortDataOption.xlSortNormal);
    

راجع أيضًا:

المهام

كيفية القيام بما يلي: ملء النطاقات تلقائياً ببيانات تتغيير بشكل تزايدي

كيفية القيام بما يلي: الإشارة إلى نطاقات ورقة العمل في التعليمات البرمجية

كيفية القيام بما يلي: تطبيق أنماط إلى نطاقات في مصنفات

المبادئ

العمل على أوراق العمل

عنصر تحكم NamedRange

عنصر تحكم ListObject

المعلمات الاختيارية في حلول Office