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

مساعدة في دالة لحذف صفوف تبدأ بأرقام معينة


eLearner

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

السلام عليكم

إخواني عندي ملف أكسل فيه عمود واحد فقط ، وكل الصفوف فيه تحتوي على أرقام فقط (ماعندي حروف) ..

أحتاج دالة تحذف لي جميع الصفوف ما عدا الصفوف التي تبدأ برقم 333 ..

على سبيل المثال :

2341234566 يحذف

33323542341 يبقى

12413123 يحذف

3331231 يبقى

33355464444545465467355 يبقى

12313154154 يحذف

هل توجد طريقة باستخدام الدوال الافتراضية في الاكسل ، أم أحتاج إلى برمجة سكريبت ؟

وشكراً مقدماً

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

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

أخي جرب هذه المعادلة على فرض أن الأرقام في النطاق من A1:A6

جرب هذه المعادلة

=IFERROR(INDEX($A$1:$A$6,SMALL(IF(0+LEFT($A$1:$A$6,3)=333,ROW($A$1:$A$6)-ROW($A$1)+1),ROW(1:1))),"")

و هي معادلة صفيف يجب الضغط على Ctrl+Shift+Enter

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

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

أخي جرب هذه المعادلة على فرض أن الأرقام في النطاق من A1:A6

استاذنا الكبير يحيى حسين :

ماشاء الله

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

وفقك الله ... وكل عام وانت بخير

ياسر الحافظ " ابو الحارث "

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

من باب اثراء الموضوع

كود يوضع في زر امر لحذف الصفوف التي بها ارقام لا تبداء ب 3

Sub ss()

Application.ScreenUpdating = False

For i = 5 To 100

If Mid(Cells(i, 1), 1, 1) <> 3 Then

Cells(i, 1).Value = ""

End If

Next i

Range("A5:A100").Select

    Selection.SpecialCells(xlCellTypeBlanks).Select

    Selection.EntireRow.Delete

 Range("A1").Select

 Application.ScreenUpdating = True

End Sub

بفرض ان الارقام في العمود A في المجال A5:A100

ويمكن زيادة المدى

والله اعلم

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

من باب اثراء الموضوع

كود يوضع في زر امر لحذف الصفوف التي بها ارقام لا تبداء ب 3

الاخ العزيز " ابو احمد "

جزاك الله كل الخير ... كود مميز - كلنا نستفيد من هذه الخرات والاعمال الجميلة -

وفقك الله

ياسر الحافظ " ابو الحارث "

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

الأخ يحيى حسين

جعلتنا نحب معادلات الصفيف

ممكن الحل بهذه المعادلة

و هى تنتج الأرقام مرتبة من الأصغر للأكبر

=IFERROR(SMALL(IF(MID(A3:A15;1;3)="333";A3:A15);ROW(A3));"")
جزاك الله خيرا الأخ عبد الله المجرب جارى دراسة الكود المدرج من قبل حضرتكم أعتقد أن المطلوب حذف الخلايا البادئة ب 333 وليس 3 فقط قمت بتعديل السطر
If Mid(Cells(i, 1), 1, 3) <> "333" Then

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

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

السلام عليكم

الاستاذة الكبار

يحيي حسين

معادلة رائعة

وابو احمد

كود جميل جدا

والاستاذ كيماس

معادلة صفيف رائعة

جزاكم الله كل خير

:clapping: :clapping: :clapping:

:fff: :fff: :fff: :fff:

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

السلام عليكم

=====

بارك الله فيكم

حلول كلها مميزة وجميلة

:clapping:

ولمزيد من اثراء الموضوع

سنضع الكود التالى

Option Explicit

Sub Delete333Rows()

Dim LR As Long, a As Long

Application.ScreenUpdating = False

LR = Cells(Rows.Count, 1).End(xlUp).Row

For a = LR To 1 Step -1

  If Left(Cells(a, 1), 3) = "333" Then Rows(a).Delete

Next a

Application.ScreenUpdating = True

End Sub

من الافضل تجربة العمل قبل الاعتماد عليه حتى لا تفقد ملفك

906211977.gif

New ورقة عمل Microsoft Excel.rar

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

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

أخي كيماس معادلات الصفيف هي متعة الاكسيل smile2.gif

و الشكر موصول للأخوة ابو عبدالله و ياسر و محمود و هشام

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

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

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

كل الشكر للسائل ولكل من شارك بحل وكلها حلول مميزة واسمحوا لي بإضافة فكرة جديدة خلال المرفق وفيها يتم اختيار النطاق أياً كان وتحديد الحروف أو الأرقام الثلاثة الأولى بالبيانات المحددة التي لن يتم حذف صفوفها.

مع حبي وتقديري

ابو عبدالله

حذف صفوف كل الخلايا في التحديد التي لاتحتوى بأول 3 حروف منه حروف معينة.rar

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

السلام عليكم

=====

اخى الحبيب ابو عبدالله ولا كلمة تانى " انت قفلتها "

فكرة روعة بارك الله فيك

بس اسمحلى اضع حل اخر لمزيد من اثراء الحل

سنضع الكود التالى ليقوم اتوماتيكيا بحذف القيم فى وقت كتابتها

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub

If Target.Count > 1 Then Exit Sub

With Application

  .ScreenUpdating = False

  .EnableEvents = False

  If Left(Target, 3) = "333" Then Rows(Target.Row).Delete

  .EnableEvents = True

  .ScreenUpdating = True

End With

End Sub

906211977.gif

HH.rar

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

  • 1 year later...

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

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



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

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

Important Information