اذهب الي المحتوي
أوفيسنا

(تمت الاجابة) فلترة رقم من تكست بوكس


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

السلام عليكم ورحمة الله وبركاته

حفظكم الله

فلترة النص تعمل ما المطلوب تعديله في كود التكست بوكس رقم2 كي تعمل ايضا فلترة الرقم

أبو أنس

فلترة لرقم من تكست بوكس.rar

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

السلام عليكم

لو البيانات في عمود البحث رقم بتنسيق نص يشتغل الكود

ما دامت البيانات ارقام ولها نفس الطول

مثل ملفك

ممكن تستخدم الكود هذا

العدد 5

هو طول الرقم في عمود البحث


Private Sub TextBox2_Change()

Dim c As Integer

c = 5 - Len(TextBox2)

If TextBox2 = "" Or c < 0 Then

Selection.AutoFilter Field:=7

Else

Range("Del").AutoFilter , Field:=7, Criteria1:=">=" & CStr(TextBox2) & String(c, "0"), Operator:=xlAnd, _

		Criteria2:="<=" & CStr(TextBox2) & String(c, "9")

End If

End Sub

وقد تجد اكثر من حل

ودمتم في حفظ الله

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

السلام عليكم ورحمة الله وبركاته

أستاذي وسيدي الفاضل عبد الله باقشير حفظك الله

أشكر تكرمك بالرد جزاك الله كل خير ولكن الأرقام ليست ثابتة الطول في العمود أرجو التفضل بالتعديل في الكود حيث أنني ربما احتاج الكود أيضاً في العمود G

أبو أنس

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

السلام عليكم

شاهد المرفق

فيه ما اوردته سابقا

وكود آخر بالتصفية المتقدمة

ينفذ طلبك


Private Sub TextBox2_Change()

Dim MySerch As String

If ib Then Exit Sub

MySerch = CStr(Me.TextBox2)

Range("N3").Value = "=Search(""" & MySerch & """,G6)=1"

Me.Range("A5").Resize(Me.UsedRange.Rows.Count, 11).AdvancedFilter xlFilterInPlace, Me.Range("N2:N3")

End Sub

فلترة لرقم من تكست بوكس.rar

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

السلام عليكم ورحمة الله وبركاته

أستاذي وسيدي عبد الله باقشير (خبور خير - أبا علي)حفظك الله

جزاك الله خير الثواب في الدنيا وحسن ثواب الآخرة.

أبو أنس

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

السلام عليكم ورحمة الله وبركاته

أستاذي وسيدي الفاضل عبد الله باقشير حفظك الله

هل هنالك حل لبطئ استعادة ظهور بيانات العمود بعد مسح الرقم من داخل البوكس وذلك كوني جربته على بياناتي الحقيقة والتي هي في الغالب كبيرة جداً حيث كان بطئ جداً (مما يجعل البحث بالطريقة التقليدية أسرع من الكود!!).

أبو أنس

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

السلام عليكم ورحمة الله وبركاته

أستاذي وسيدي الفاضل عبد الله باقشير حفظك الله

هل هنالك حل لبطئ استعادة ظهور بيانات العمود بعد مسح الرقم من داخل البوكس وذلك كوني جربته على بياناتي الحقيقة والتي هي في الغالب كبيرة جداً حيث كان بطئ جداً (مما يجعل البحث بالطريقة التقليدية أسرع من الكود!!).

أبو أنس

اضافة الى تعديل الاخ ياسر حفظه الله

افضل ان تحول عمل الكود في زر

علشان تمنع تكرار عمل الكود في حالة اضافة اي حرف في التاكست

ودمتم

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

استاذي

هل يمكن عمل فلترة للتاريخ من خلال التكست

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

لكن بامكانك انت غير بيانات عمود البحث الى تاريخ

وابحث واشعرنا بالنتيجة

ودمتم

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

السلام عليكم ورحمة الله وبركاته

أساتذتي الأفاضل عبد الله باقشير وياسر خليل خفظكم الله

جزاكم الله كل الخير وجنبكم كل الشر

لو ممكن تعديل بسيط على كود الأستاذ الفاضل ياسر في التصفية المتقدمة أذا كانت قيمة البوكس خالية يتم تفعيل فلترة الأعمدة بالازرار الأعتيادية أقصد Autofilter لكل الأعمدة.

أبو أنس

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

السلام عليكم

لقد أضفت أسفل كل كود في التكست بوكس الأضافة أدناه وضبط معي

If Me.TextBox2 = Empty Then

[a5:k60000].Select

Selection.AutoFilter

[a4].Select

End If

أذا كان هنالك تصحيح أحترافي جزاكم الله كل خير

أبو أنس

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

السلام عليكم

غير هذه الاكواد في الملف لقد استخدمتها على اكثر من 63000 صف


Dim ib As Boolean

'-----------------------------------------------------------

Private Sub CommandButton1_Click()

ib = True

Me.TextBox1 = Empty: Me.TextBox2 = Empty

ib = False

If Me.AutoFilterMode = False Then Me.Range("A5").Resize(Me.UsedRange.Rows.Count, 11).AutoFilter

End Sub


'--------------------------------------------------------------

Private Sub TextBox1_Change()

Dim MySerch As String

If ib Then Exit Sub

If Me.FilterMode Then Me.ShowAllData

If Me.TextBox1 = Empty Then

    Me.Range("A5").Resize(Me.UsedRange.Rows.Count, 11).AutoFilter

    Exit Sub

End If

MySerch = CStr(Me.TextBox1)

Range("N3").Value = "=Search(""" & MySerch & """,E6)=1"

Me.Range("A5").Resize(Me.UsedRange.Rows.Count, 11).AdvancedFilter xlFilterInPlace, Me.Range("N2:N3")

End Sub

'------------------------------------------------------------------

Private Sub TextBox2_Change()

Dim MySerch As String

If ib Then Exit Sub

If Me.FilterMode Then Me.ShowAllData

If Me.TextBox2 = Empty Then

    Me.Range("A5").Resize(Me.UsedRange.Rows.Count, 11).AutoFilter

    Exit Sub

End If

MySerch = CStr(Me.TextBox2)

Range("N3").Value = "=Search(""" & MySerch & """,G6)=1"

Me.Range("A5").Resize(Me.UsedRange.Rows.Count, 11).AdvancedFilter xlFilterInPlace, Me.Range("N2:N3")

End Sub

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

السلام عليكم ورحمة الله وبركاته

أستاذي وسيدي الفاضل عبد الله باقشير (أبا على) حفظك الله

أدام الله عليك الصحة والعافية ورزقك من حيث لا تحتسب.

أبو أنس

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

  • 1 year later...

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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

Important Information