Note: The other languages of the website are Google-translated. Back to English

كيفية فرز بيانات العمود عن طريق النقر فوق رأس في إكسيل؟

لنفترض أن لدي مجموعة من البيانات ، الآن ، أود فرز البيانات بترتيب تصاعدي أو تنازلي من خلال النقر فوق أي رأس عمود لعرض لقطة الشاشة التالية. كيف يمكنك حل هذه الوظيفة في Excel؟

قم بفرز المستندات بالنقر فوق 1

فرز البيانات عن طريق النقر فوق رأس العمود مع رمز VBA


السهم الأزرق الحق فقاعة فرز البيانات عن طريق النقر فوق رأس العمود مع رمز VBA

عادةً ، في Excel ، يمكنك تطبيق ميزة الفرز لفرز البيانات بسرعة وسهولة ، ولكن لفرز البيانات بمجرد النقر فوق خلية ، يمكن أن يقدم لك رمز VBA التالي خدمة.

1. انقر بزر الماوس الأيمن فوق علامة تبويب الورقة التي تريد فرز البيانات بالنقر فوق خلية واختيارها عرض الرمز من قائمة السياق ، وفتح Microsoft Visual Basic للتطبيقات نافذة ، انسخ والصق الكود التالي في الوحدة النمطية الفارغة:

كود فبا: فرز البيانات عن طريق النقر فوق خلية أو رأس عمود:

Public blnToggle As Boolean
Private Sub Worksheet_BeforeDoubleClick _
(ByVal Target As Range, Cancel As Boolean)
'Updateby Extendoffice
Dim LastColumn As Long, keyColumn As Long, LastRow As Long
Dim SortRange As Range
LastColumn = _
Cells.Find(What:="*", After:=Range("A1"), _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
keyColumn = Target.Column
If keyColumn > LastColumn Then Exit Sub
Application.ScreenUpdating = False
Cancel = True
LastRow = Cells(Rows.Count, keyColumn).End(xlUp).Row
Set SortRange = Target.CurrentRegion
blnToggle = Not blnToggle
If blnToggle = True Then
SortRange.Sort _
Key1:=Cells(2, keyColumn), Order1:=xlAscending, Header:=xlYes
Else
SortRange.Sort _
Key1:=Cells(2, keyColumn), Order1:=xlDescending, Header:=xlYes
End If
Set SortRange = Nothing
Application.ScreenUpdating = True
End Sub

قم بفرز المستندات بالنقر فوق 2

2. ثم قم بحفظ وإغلاق نافذة التعليمات البرمجية ، الآن ، عند النقر المزدوج فوق أي خلية أو رأس عمود ضمن نطاق البيانات ، سيتم فرز العمود بترتيب تصاعدي ، إذا نقرت عليه مرة أخرى ، فسيتم فرز العمود تنازليًا مرة واحدة.


المزيد من المقالات ذات الصلة:

كيف تغير قيمة الخلية بالضغط على الخلية؟

كيفية تصفية البيانات فقط بالنقر فوق محتوى الخلية في Excel؟


أفضل أدوات إنتاجية المكتب

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2021 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (8)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يعمل بشكل جيد للصعود ، انقر نقرًا مزدوجًا مرة ثانية كما هو مذكور في النزول لا يفعل شيئًا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لا يعمل ، لا يحدث شيء ، تعرف كيفية إنشاء وحدة نمطية في vba ، وفعل ذلك ، وحفظها ، ولا شيء عند النقر نقرًا مزدوجًا على العنوان. من فضلك أصلحه.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لا يمكن أن تفعل crackerjack - لا تعمل
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا روب ، الكود أعلاه يعمل جيدًا في برنامج Excel الخاص بي ، هل يمكنك إعطاء مشكلتك لقطة شاشة هنا؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،
der Code funktioniert auch gut bei mir. Allerdings würde ich gerne die oberen beiden Zeilen nicht mit Sortieren، da diese die Überschriften sind.
Wie muss ich dann diesen Code ändern؟

شكرا لك!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا صديق،
هنا هو VBA الذي تحتاجه :

bln العام التبديل إلى قيمة منطقية
ورقة عمل فرعية خاصة
(ByVal Target As Range ، Cancel as Boolean)
'تحديث بواسطة Extendoffice
تعتيم LastColumn طويل ، keyColumn طويل ، LastRow As Long
تصنيف خافتنطاق كمدى
LastColumn = _
Cells.Find (ماذا: = "*" ، بعد: = النطاق ("A1") ، _
SearchOrder: = xlByColumns ، SearchDirection: = xlPrevious).
keyColumn = الهدف
إذا كان keyColumn> LastColumn ، فاخرج من Sub
Application.ScreenUpdating = خطأ
إلغاء = صحيح
LastRow = الخلايا (Rows.Count ، keyColumn) ، النهاية (xlUp) .Row
على خطأ استئناف التالي
تعيين SortRange = Target.CurrentRegion
خافت أنا طويلة
I = 2
تعيين SortRange = SortRange.Offset (i ، 0)
تعيين SortRange = SortRange.Resize (SortRange.Rows.Count - i ، SortRange.Columns.Count)
blnToggle = ليس blnToggle
إذا كان blnToggle = صحيح إذن
SortRange.Sort _
المفتاح 1: = الخلايا (2 ، keyColumn) ، الترتيب 1: = xlAscending ، الرأس: = xlNo
آخر
SortRange.Sort _
المفتاح 1: = الخلايا (2 ، keyColumn) ، الترتيب 1: = xlDescending ، الرأس: = xlNo
إنهاء حالة
تعيين SortRange = لا شيء
Application.ScreenUpdating = ترو
نهاية الفرعية


إذا كانت لديك رؤوس من 3 صفوف ، فقم فقط بتغيير "i = 2" إلى "i = 3" في VBA. آمل أن يساعد. أتمنى لك يوماً عظيماً.

مع خالص الشكر والتقدير،
ماندي
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا ماندي / الكل ،

هل من الممكن تغيير الكود الخاص بك لفرز فقط عندما يتم النقر فوق الرؤوس مرتين بدلاً من أي خلية؟

شكرا جزيلا!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،
لحل مشكلتك ، يرجى تطبيق الكود أدناه:
Public blnToggle As Boolean
Private Sub Worksheet_BeforeDoubleClick _
(ByVal Target As Range, Cancel As Boolean)
'Updateby Extendoffice
Dim LastColumn As Long, keyColumn As Long, LastRow As Long
Dim SortRange As Range
Dim xAddress As String
Dim xRgI As Range
xAddress = "A1:E2" 'The headers
Set xRgI = Intersect(Range(xAddress), Target)
If xRgI Is Nothing Then Exit Sub
LastColumn = _
Cells.Find(What:="*", After:=Range("A1"), _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
keyColumn = Target.Column
If keyColumn > LastColumn Then Exit Sub
Application.ScreenUpdating = False
Cancel = True
LastRow = Cells(Rows.Count, keyColumn).End(xlUp).Row
On Error Resume Next
Set SortRange = Target.CurrentRegion
Dim i As Long
i = 2
Set SortRange = SortRange.Offset(i, 0)
Set SortRange = SortRange.Resize(SortRange.Rows.Count - i, SortRange.Columns.Count)
blnToggle = Not blnToggle
If blnToggle = True Then
SortRange.Sort _
Key1:=Cells(2, keyColumn), Order1:=xlAscending, Header:=xlNo
Else
SortRange.Sort _
Key1:=Cells(2, keyColumn), Order1:=xlDescending, Header:=xlNo
End If
Set SortRange = Nothing
Application.ScreenUpdating = True
End Sub



يرجى المحاولة ، آمل أن يساعدك!
لا توجد تعليقات منشورة هنا حتى الآن
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL