خالد الرشيدى قام بنشر يونيو 3, 2017 قام بنشر يونيو 3, 2017 (معدل) السلام عليكم اخى ناصر - مبدئياً السبب هو عدد اعمدة مصفوفة النتائج Temp -- وكما زكرت لحضرتك سابقاً انه حتى وان لم تقم بالمسح سوف يتم استبدال القيم الموجوده بالقيم الجديده في كل مرة -- كود المسح نستخدمة لهدف واحد - بفرض انه هناك بيانات موجوده حتى الصف العشرين ثم من خلال كود بحث لم نضع به كود مسح - حصلنا على نتيجه من عشر صفوف - عندها ستجد اول عشر صفوف هم النتيجة الجديده والعشره الاخريين هم الموجودون من قبل لاننا لم نمسح النطاق الذي سنضع به النتائج - لهذا نستخدمه لربما تكون نتيجة البحث الجديد عدد اعمدتها وصفوفها اقل من البحث الذي قبله -- مبدئياً غير كود المسح لان حضرتك محدده حتى العمود DW , اجعلة حتى العمود Dj sh.Range("A12:DW1000").ClearContents ثانياً : - ولان عدد اعمده مصفوفة النتائج temp ستتخطى العمود Dj - ولاننا من خلال السطر التالى .Range("A11").Resize(j - 1, UBound(temp, 1)).Value = temp ومعناه بدءأ من الخليه A11 وحتى الصف J - 1 وحتى والعمود ( UBound(temp, 1 انسخ المصفوفة temp -- مع العلم بان ناتج ( UBound(temp, 1 هو 206 اى سيتم نسخ تلك المصفوفة بدءاً من العمود A وحتى العمود رقم 206 -- حقيقة كثره عدد الاعمدة التى يتعامل معها الكود تجعل من الصعب فحصه والتعامل معه - ولكن هناك حل اعتقد انه مناسب -- اجعل النسخ بدءاً من العمود A وحتى العمود Dj فقط من خلال تغيير السطر السابق بهذا السطر ولاحظ النتائج ولا تنسي ان تغير كود مسح البيانات لانه الى DW حاليا ً - مع العلم بان 144 هو رقم العمود Dj -- وكأننا نقول للكود - انسخ مصفوفة النتائج بدءا من العمود A وحتى العمود (Dj (114 .Range("A11").Resize(j - 1, 114).Value = temp تم تعديل يونيو 3, 2017 بواسطه خالد الرشيدى 1
ناصر سعيد قام بنشر يونيو 3, 2017 الكاتب قام بنشر يونيو 3, 2017 الاستاذ المحترم خالد الشرقاوي جزاك الله كل خير وبارك لكم ... وبعد الحل رائع .. ولكني اتعشم في اضافه هذه الجمله بدل سطر مسح التسطير ونسخ التسطير حتى ياخذ كل التنسيقات التي نعملها الى كل الصفوف Range("A7:R7").AutoFill Destination:=Range("A7:R" & Range("R2").Value + 6), Type:=xlFillDefault لااقصد هذه الجمله بعينها وانما لك حريه التغيير فيها لتؤدي الغرض وان يكون طول الصفوف فيها مرنا لايعتمد على عدد في خليه
خالد الرشيدى قام بنشر يونيو 4, 2017 قام بنشر يونيو 4, 2017 السلام عليكم اخى ناصر الهدف من مسح التسطير ثم اعادته - لانه قد تختلف عدد اسطر واعمده البحث - بافتراض تم البحث وكانت النتائج 20 صف وتم تسطيرها - ثم تم البحث مثلا عن قيمه اخرى وكانت النتائج على 10 اسطر ان لم يكن هناك مسح تسطير ثم اعادته حسب عدد النتائج الجديده ستجد ان التسطير الى الصف 20 في حين ان النتائج الى الصف 10 - وبالتالى حتى وان استخدمت الطريقة السابقه سيكون هناك مسح فى البدايه ثم اعادة تنسيق ( سطرين من الاكواد )) كما هناك امر يجب مراعاته - ((( الوقت ))) - اعتقد ان وقت مسح التسطير واعادته اقل بكثير من ال مسح ال Autofill واعادتة -- اما وان اردت معرفة اسلوب العمل بطريقة ال Autofill بهدف الاستفادة - يرجى ادراج نموزج مبسط جداً مشروح فية المطلوب - ويفضل ان تفتح به موضوع جديد -- تقبل مرورى وتحياتى 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.