السلام عليكم : حياكم - سبق وقام الاستاذ ياسر بتصميم كود يجلب اخر تاريخ قام العميل بتسديد مبلغ
ممكن اجراء التعديلات المطلوبة على الكود
1. جلب ارقام الفواتير واسماء العملاء الموجودين في شيت (اقساط) تلقائيا
2. جلب اخر تسديد قام به العميل مع رقم الفاتورة ( لأنه يأتي مرات للعميل اكثر من فاتورة ) وذلك لمعرفة المتأخرين عن التسديد
والبيانات موجود في شيت اقساط - والعمل على شيت (تاريخ)
جزيتم خيرا
لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب
أفضل إجابة مقدمة من
YasserKhalil
وهي:
وعليكم السلام أخي الكريم أبو عبد الواجد
الكود الموجود غير متطابق مع الملف وهيكلة الملف كما كان في السابق لذا كان قد وجب التنبيه على ذلك .. ولذا قمت بضبط الكود الموجود حسب هيكلة الملف الحالي ويرجى عند إحداث أي تغيير في هيكلة الملف أن تخبرنا بذلك ..
إليك الكود بعد التعديل أما بخصوص ما طلبت لم أفهم المطلوب لذا لابد من إرفاق بعض النتائج المتوقعة ليسهل توضيح المسألة
عرض الإجابة
الكود الموجود غير متطابق مع الملف وهيكلة الملف كما كان في السابق لذا كان قد وجب التنبيه على ذلك .. ولذا قمت بضبط الكود الموجود حسب هيكلة الملف الحالي ويرجى عند إحداث أي تغيير في هيكلة الملف أن تخبرنا بذلك ..
إليك الكود بعد التعديل أما بخصوص ما طلبت لم أفهم المطلوب لذا لابد من إرفاق بعض النتائج المتوقعة ليسهل توضيح المسألة
Sub Grab_Last_Date()
Dim ws As Worksheet
Dim sh As Worksheet
Dim arr As Variant
Dim temp As Variant
Dim x As Variant
Dim i As Long
Dim j As Long
Dim k As Long
Set ws = Sheets("اقساط")
Set sh = Sheets("تاريخ")
arr = sh.Range("B2:B" & sh.Cells(Rows.Count, 1).End(xlUp).Row).Value
ReDim temp(1 To UBound(arr, 1))
k = 0
Application.ScreenUpdating = False
For i = LBound(arr, 1) To UBound(arr, 1)
k = k + 1
x = Application.Match(CStr(arr(i, 1)), ws.Columns(7), 0)
If IsNumeric(x) Then
For j = 10 To 23 Step 2
If ws.Cells(x, 10) = "" Then GoTo Skipper
If ws.Cells(x, j) = "" Then temp(k) = ws.Cells(x, j - 1): GoTo Skipper
Next j
Else
temp(k) = ""
End If
Skipper:
Next i
sh.Range("F2").Resize(k).Value = Application.Transpose(temp)
Application.ScreenUpdating = True
End Sub
أعجبني أعجبك هذاإلغ اعجابي 1 أثارت هذه المشاركة إعجاب: المستشار،