اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

كود متقدم للتصفية .


الردود الموصى بها

اخواني في المنتدى

اولأ : اشكركم شكرا جزيلأ على ماتقدمون من خدمات

ثانيا : ارجو عدم تحويل سؤالي هذا الى رابط اخر لأني لم اجد الجواب الكافي هناك

ثالثا : سؤالي هو وارجو التأمل في السؤال جيدا

اريد عمل زر تصفية لعمود معين احدده انا

اي اريد التالي

احدد العمود ثم اضغط زر التصفية فتتم العملية ثم اضغط زر للعودة واحدد عمود اخر غير الأول الذي تم تحديده سابقا واضغط الزر ويعمل تصفية للعمود الجديد وهكذا

دمتم

تم تعديل بواسطه حسام نور
رابط هذا التعليق
شارك

السلام عليكم ...

كود التصفية :

Sub OnFilter()
 InputRange = InputBox("أدخل مجال التصفية", "تصفية")
 NemberCoulmn = InputBox("أدخل ترتيب العامود المراد تصفيته", "تصفية")
 ValueFilter = InputBox("أدخل القيمة التي تريد تصفيتها", "تصفية")
 Range(InputRange).AutoFilter Field:=NemberCoulmn, Criteria1:=ValueFilter
End Sub
كود إلغاء التصفية :
Sub OffFilter()
 If ActiveSheet.AutoFilterMode Then
  ActiveSheet.Range("A1").AutoFilter
 End If
End Sub

تم تعديل بواسطه محمد حجازي
رابط هذا التعليق
شارك

كل عام وانتم بخير

بمناسبة عيد الاضحى المبارك

ارجو من الاخ العزيز محمد حجازى شرح لهذا الكود

" تصفية "

"أدخل مجال التصفية", "تصفية")

"أدخل ترتيب العامود المراد تصفيته", "تصفية")

أدخل القيمة التي تريد تصفيتها", "تصفية")

ولك جزيل الشكر

رابط هذا التعليق
شارك

السلام عليكم ...

التعليمة InputBox تستعمل لإدخال بيانات من خلال فورم جاهز ، وفي المثال السابق قمنا بإسناد البيانات المدخلة إلى المتغيرات ومن ثم ربط المتغيرات بأسلوب AutoFilter ، أي أن المتغيرات هنا هي صلة الوصل بين الأسلوب AutoFilter و فورم إدخال البيانات InputBox

للتعليمة InputBox عدد من البرامترات يمكنك الإطلاع عليها من خلال نظام المساعدة الموجود في محرر الفيجوال ، و أول برامترين هما بالترتيب : عنوان الفورم ، نص الرسالة الموجودة على الفورم

ويمكنك الاستعاضة عن التعليمة InputBox بإنشاء فورم بشكل يدوي ووضع أدارة النص TextBox فيه

رابط هذا التعليق
شارك

السلام عليكم ...

- مجال التصفية : عرفتها لوحدك ، مثال A1:AJ10

- ترتيب العامود المراد تصفيته (حقل التصفية) : هو الحقل الذي تتم التصفية انطلاقاً منه ، مثال عندما تختار الرقم 3 يقو م الاكسل بالتصفية اعتماداً على العامود C

- القيمة التي تريد تصفيتها : مثال عندما تختار كلمة ناجح فإن الاكسل يعرض جميع السجلات التي تحتوي في حقلها الثالث (العامود C) على كلمة ناجح

راجع الرابط التالي:

http://www.officena.net/ib/index.php?showtopic=4555

رابط هذا التعليق
شارك

السلام عليكم

اخوي محمد

جربت الكود اعلاه واشتغل زي العسل ياعسل ياللي شرحك زي الشهد ..... ولكن

اسف ال لكن ليست في شرحك ولكن ال لكن في الكود

وش فيه الكود ؟؟؟؟؟؟

الكود اخي الكريم عند ظهور جميع الرسائل والضغط على زر ( ok ) يشتغل تمام

ولكن عند الضغط على الزر كانسل .... ماذا يحدث ..... تظهر رسالة الخطأ

الحقيقة اني حاولت تجاوز هذه المشكلة ولكن لم استطع

فهلا تكرمت علينا بكتابة الكود الذي يغلق مربع الحوار عند الضغط على الزر كانسل

اخي الكريم انا جربت هذا الكود

Dim Ans As String

If Ans = 2 Then

Exit Sub

End If

ولكن لم انجح ( ارجو توضيح مكان كتابته )

رابط هذا التعليق
شارك

السلام عليكم ...

هذا كود التصفية بعد التعديل وهو يقوم بالانتهاء في حالة تجاهل أحد النةافذ ، وهو يحتوي على رسالتي تنبيه :

الأولى : عندما تكون البيانات المدخلة غير صحيحة ، كوضع رقم لعامود التصفية يتجاوز عدد أعمدة المجال المحدد

الثانية : في حالة حدوث أخطاء مختلفة غير متوقعة ، كوضع عدد أعمدة ضخم جداً

Sub OnFilter()
On Error GoTo checkerror
Dim InputRange As Range
Dim NemberCoulmn As Integer
Dim ValueFilter As String
Set InputRange = Application.InputBox(prompt:="أدخل مجال التصفية", Title:="تصفية", Type:=8)
NemberCoulmn = Application.InputBox(prompt:="أدخل ترتيب العامود المراد تصفيته", Title:="تصفية", Type:=1)
ValueFilter = Application.InputBox(prompt:="أدخل القيمة التي تريد تصفيتها", Title:="تصفية", Type:=2)
If InputRange Is Nothing Then
  Exit Sub
ElseIf NemberCoulmn = False Then
  Exit Sub
ElseIf ValueFilter = "False" Then
  Exit Sub
Else
  Range(InputRange.Address).AutoFilter Field:=NemberCoulmn, Criteria1:=ValueFilter
End If
Exit Sub
checkerror:
 Const NoRange As Integer = 424
 Const Unsuitable As Integer = 1004
 Select Case Err
 Case NoRange
  Resume Next
 Case Unsuitable
  MsgBox ("تأكد من أن البيانات التي أدخلتها صحيحة")
  Exit Sub
 Case Else
  MsgBox ("حدث خطأ غير متوقع")
 End Select
End Sub

رابط هذا التعليق
شارك

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information