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

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


saad abed
إذهب إلى أفضل إجابة Solved by الـعيدروس,

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

اخوانى الاعزاء

ارفقت مثال يشابه الملف الاصلى فى الفكره

فمشكلتى ان الاسعار متغيره

فاريد الحصول على اخر سعر من اسعار متعدده كتب بينهم فاصل "-"

فهل ممكن الحصول على اخر سعر بهذه الطريقه 

يفضل الاكواد

من فضلك لا تقوم برفع ملف مضغوط طالما حجم الملف صغير ,تجنبا لعدم اهدار وقت الأساتذة فى الأطلاع على الملف-وطالما انك تريد الحل بالأكواد فكان من الأسهل والأفضل رفع الملف ب Xlsm.

 

Book1.xlsm

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

  • أفضل إجابة

السلام عليكم

اسعد مساك اخي سعد عابد

كيف صحتك ان شاء الله تكون بصحة وسلامه

بالامكان عبر هذه المعادلة المعرفة

Function Ali_Sp(D)
Dim A
Dim i, x, E
A = Sheets("الاسعار").Range("B6:D500").Value
For i = LBound(A, 1) To UBound(A, 1)
    If A(i, 2) = D Then
    E = A(i, 3)
    E = Split(A(i, 3), "-")
    x = UBound(E)
    Ali_Sp = E(x)
    Exit For
    End If
Next i
End Function

او عبر هذا الكود

Sub Ali_S()
Dim A
Dim x, i, E, R
A = Sheets("الاسعار").Range("B6:D500").Value
For i = LBound(A, 1) To UBound(A, 1)
    For R = 5 To Cells(Rows.Count, "B").End(xlUp).Row
    If A(i, 2) = Cells(R, "B") Then
    E = A(i, 3): E = Split(A(i, 3), "-")
    x = UBound(E): Cells(R, "C") = E(x)
    End If
    Next R
Next i
End Sub

 

 

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

اخى ابونصار

اشتقت لمواضيعك واكوادك ومساعداتك

اكرمك الله اخى

اتمنى ان تكون بخير وفى احسن حال

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

جارى التجربه

 

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

اخى ابو نصار

الكود يعمل بكفاءه كعادة اكوادك

اسال الله ان يجزيك كل خير

=============================

اخى سليم

اشكرك على مجهودك وردودك السريعة على الاعضاء

تقبل منى تحياتى واحترامى اخى العزيز

اشكر لك مجهودك

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

اذا اردتها بواسطة الماكرو

الكود

Option Explicit
Sub test()
Dim slash$: slash = "-"
Dim x%: x = 1
Dim k%: k = 6
Dim st
Range("G6").CurrentRegion.ClearContents
 Do Until Range("D" & k) = vbNullString
  st = Range("D" & k)
    Do Until x = 0
       x = InStr(st, slash)
      If x Then st = Replace(st, " ", 1, x + 1)
    Loop
    Range("G" & k) = st
  k = k + 1
  x = 1
 Loop
End Sub

 

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

اختصار بسيط للكود الوارد سابقاً

Option Explicit
Sub test_1()
Dim slash$: slash = "-"
Dim x%, k%: k = 6

Range("G6:G" & Rows.Count).ClearContents
 Do Until Range("D" & k) = vbNullString
      x = InStrRev(Range("D" & k), slash)
      If x Then
       Range("G" & k) = Replace(Range("D" & k), " ", 1, x + 1)
      End If
     k = k + 1
 Loop
End Sub

 

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information