alfahad قام بنشر سبتمبر 24, 2012 قام بنشر سبتمبر 24, 2012 (معدل) بفضل من الله اولاً ثم فيديو لأخينا ابو لميس جزاه الله خيرا تعلمت كيفية عمل تصفية متقدمة ولكن تعثرت خطواتي عندما اردت ان اعمل تصفية متقدمه بين تاريخين يتم تحديدهما لتظهر التصفية التاريخين وما بينهما بمعنى ( من تاريخ الى تاريخ ) ولجات لخبراء واساتذة المنتدى لعل وعسى اتعلم كيفية عمل هذه القائمة المتقدمة بين تاريخين يوجد ملف مرفق وارجو توضيح الخطوات الرابط الفيديو الذي تعلمت منه تصفية متقدمة.rar تم تعديل سبتمبر 25, 2012 بواسطه دغيدى
طارق محمود قام بنشر سبتمبر 25, 2012 قام بنشر سبتمبر 25, 2012 السلام عليكم أخي العزيز تفضل المرفق وبه تصليح للتصفية حسب الراتب إضافة كود للتصفية حسب تاريخ الولادة وأترك لك عمل كود التصفية حسب تاريخ الالتحاق بالوظيفة تصفية متقدمة2.rar
طارق محمود قام بنشر سبتمبر 25, 2012 قام بنشر سبتمبر 25, 2012 الكودين هما Sub Macro1() Sheets("تصفية بالراتب").[B21:M1000].FillLeft ' لمسح البيانات والفورمات القديمة [A2:G1002].AutoFilter ActiveSheet.[A2:G1002].AutoFilter Field:=7, Criteria1:=[J17] & [K17], Operator:=xlAnd LR = [A2000].End(xlUp).Row Range("A2:D" & LR).Copy (Sheets("تصفية بالراتب").[B21]) Range("F2:G" & LR).Copy (Sheets("تصفية بالراتب").[F21]) Application.CutCopyMode = False ActiveSheet.AutoFilterMode = off End Sub Sub Macro2() Sheets("تصفية تاريخ من الى").[B2:M1000].FillLeft ' لمسح البيانات والفورمات القديمة [A2:G1002].AutoFilter ActiveSheet.[A2:G1002].AutoFilter Field:=3, Criteria1:=">=" & [J12], Operator:=xlAnd, Criteria2:="<=" & [K12] LR = [A2000].End(xlUp).Row Range("A2:G" & LR).Copy (Sheets("تصفية تاريخ من الى").[B2]) Application.CutCopyMode = False ActiveSheet.AutoFilterMode = off End Sub
alfahad قام بنشر سبتمبر 25, 2012 الكاتب قام بنشر سبتمبر 25, 2012 بارك الله فيك استاذي الفاضل طارق محمود واشكرك على تفضلك علي استاذي الفاضل ما اردته هو نفس الطريقة المتبعة في الفيديو كما في الخطوات 1 - نعمل قائمة منسدلة وتصبح فيما بعد نطاق المعيار 2- تسجيل الماكرو لنقوم بتسجيل الخطوات _ نسخ خلايا اسماء الاعمدة في ورقة البيانات ولصقة في الورقة المراد اظهار التصفية بها _ اختيار خيارات متقدمة من شريط الادوات _ نحدد النسخ الة موقع اخر ونكمل باقي الحقول ( نطاق القائمة ) ( نطاق المعيار ) (نسخ الى ) ثم نوقف تسجيل الماكرو وكانت المشكلة في كيفية تحديد التاريخين اذا تكرمت بتوضيح هذه النقطة اكن لك من الشاكرين
عبدالله باقشير قام بنشر سبتمبر 25, 2012 قام بنشر سبتمبر 25, 2012 بارك الله فيك استاذي الفاضل طارق محمود واشكرك على تفضلك علي استاذي الفاضل ما اردته هو نفس الطريقة المتبعة في الفيديو كما في الخطوات 1 - نعمل قائمة منسدلة وتصبح فيما بعد نطاق المعيار 2- تسجيل الماكرو لنقوم بتسجيل الخطوات _ نسخ خلايا اسماء الاعمدة في ورقة البيانات ولصقة في الورقة المراد اظهار التصفية بها _ اختيار خيارات متقدمة من شريط الادوات _ نحدد النسخ الة موقع اخر ونكمل باقي الحقول ( نطاق القائمة ) ( نطاق المعيار ) (نسخ الى ) ثم نوقف تسجيل الماكرو وكانت المشكلة في كيفية تحديد التاريخين اذا تكرمت بتوضيح هذه النقطة اكن لك من الشاكرين وكانت المشكلة في كيفية تحديد التاريخين تحدد نطاق المعيار من عمودين وصفين في العمود الاول في الصف الاول : تاريخ الولادة في الصف الثاني : ">="&"التاريخ" في العمود الثاني في الصف الاول : تاريخ الولادة في الصف الثاني : "<="&"التاريخ" والله اعلم
الشهابي قام بنشر سبتمبر 26, 2012 قام بنشر سبتمبر 26, 2012 أخي العزيز alfahad قمت بتنفيذ طريقة أستاذنا الكبير : عبد الله باقشير لكن لاحظت أنه يقوم بالتصفية حسب العام ولا بد أن يكون يوم الشهر في التاريخ الأصغر أقل من يوم الشهر في التاريخ الأكبر وحيث لاحظت أشهر بعد وقبل الأشهر المحددة في المعيار ولكن قمت بعمل طريقة أخرى حيث يتم وضع التاريخ في صف أسفل صف المعيار واستخدمت في الصف الثاني للمعيار دالة CONCATENATE في كلا العمودين حيث المعادلة كالتالي : =CONCATENATE(">=";C4) بالنسبة للعمود الأول للمعيار أي ( من ) والمعادلة التالية للعمود للثاني للمعيارأي ( إلى) وهي : =CONCATENATE("<=";C4) وقمت بإخفاء صف المعيار الثاني وهو الصف رقم (3) في الورقة ويتم كتابة التاريخ في الصف الرابع ثم يتحول التاريخ على شكل رقم برمجي في صف المعيارمما يسهل التعرف عليه برمجياً والحمد لله كانت النتائج صحيحة بصراحة أستاذنا الكبير عبد الله باقشير كل مشاركة له لابد وأن نستفيد منها زاده الله علما ورفعة وبارك الله فيه والعفو لاحظ المرفق تصفية متقدمة2.rar
alfahad قام بنشر سبتمبر 26, 2012 الكاتب قام بنشر سبتمبر 26, 2012 اخي الشهابي بعد شكرك على الجهد الذي بذلته في الشرح ارجو الاطلاع على المرفق في الصفحات تصفية وما بعدها وتحديد اين يوجد الخطأ حيث انني حاولة كثيراً متبعاً الخطوات التي شرحتها في المشاركة رقم 6 ولكن تعثرت ولم احصل على المطلوب وتقبل شكري وتقديري لشخصكم الكريم تصفية متقدمةمحاولات.rar
الشهابي قام بنشر سبتمبر 26, 2012 قام بنشر سبتمبر 26, 2012 أخي العزيز alfahad الخطأ الذي وقعت فيه هو حذفك للصف الأول للمعيار وهو عنوان العمود المراد التصفية به وهو ( تاريخ الولادة ) فالتصفية المتقدمة لابد في المعيار من شيئين هو عنوان العمود المراد التصفية به تخار العمود الذي تريد فمثلا لو غيرت عنوان المعيار من ( تاريخ الولادة ) إلى عنوان ( الراتب ) ثم وضعت في الصف الثاني رقم معين من أرقام الراتب عندك مثلا ( 1160 ) بس في الطريقة التي عملتها لا تضعها مباشرة ولكن في الخلية التي تحتها حيث ستصبح خلية المعيار ( >=1160) وبالتالي سيتم البحث عن الأرقام التي أكبر من 1160 وجلب البيانات على أساسها ولكن هناك مشكلة ستواجهك وهو تفريغ الصف الثاني من عمود المعيار الثاني لو تركت عنوانه ( تاريخ الولادة ) لن يكون فارغا ولكن ستبقى فيه ( <= ) وحتى لو تم عمل معادلة تجعله فارغا لن يعتبر في حالة التصفية فارغا لأنه يحتوي على معادلة ويمكن تفاديها بوضع أعلى تاريخ في حالة أصغر من أو يساوي (<=) ووضع أقل تاريخ في حالة أكبر أو يساوي(>=) كما يمكنك استعمال لا يساوي ( <>) وبالتالي سيجلب جميع القيم إلا المذكورة في المعيار كما لابد من موضع النسخ أن يتوفر فيه عنواين الجدول المطلوب جلب البيانات منه ولا يلزم وضعها كلها يمكنك أن تختار بعضها بس لابد من الإنتباه إلى ضرورة أن تكون تسميات العناوين متطابقة مع الجدول المطلوب جلب البيانات منه ولو كررت تسمية أحد العناوين مرتين سيكرر البيانات له وأيضا تسميات عناوين المعيار ضروري أيضا تكون متطابقة مع عنواين الجدول ويمكنك أن تجعل كل عنواين الجدول معيار ولبس معيار واحد أو اثنين فقط وأفضل طريقة لتفادي الخطأ هو عملية نسخ العناوين من الجدول ولصقها في المعيار والجدول المطلوب جلب البيانات له جرب مرة أخرى وإن شاء الله تتوفق تصفية متقدمةمحاولات.rar
alfahad قام بنشر سبتمبر 26, 2012 الكاتب قام بنشر سبتمبر 26, 2012 بارك الله فيك اخي واستاذي الشهابي فعلاً شرح وافي ورائع حفظك المولى وسدد خطاك وبودي استفيد ايضاً لو اردت ان يظهر لي ناتج التصفية الاعمدة B و C و F فقط كيف تكون طريقة عمل ذلك وما هي طريقة منع العبث بالمعادلة والمعيار. وجزاك الله خير..
الشهابي قام بنشر سبتمبر 27, 2012 قام بنشر سبتمبر 27, 2012 أخي العزيز alfahad وبودي استفيد ايضاً لو اردت ان يظهر لي ناتج التصفية الاعمدة B و C و F فقط كيف تكون طريقة عمل ذلك في هذه الحالة لابد أن تترك أحد أعمدة الجدول بدون عنوان أو تزيد في نطاق اليبانات عمود آخر يكون فارغ حيث عند الإستخراج الأعمدة الفارغة من العناوين سيتم تفريغها من البيانات أي سيتم مسح البيانات منها إذا كان تريد مثلا وضع معادلات في نطاق الإستخراج ولا تريد حذفها لن يتأتى لأن التصفية ستعتبر أي عمود فارغ في نطاق الإستخراج يقابل العمود الأخير الفارغ وبالتالي سيتم تفريغه وما هي طريقة منع العبث بالمعادلة والمعيار. في هذه الحالة لابد من حماية الورقة وهذا غير ممكن مع التصفية المتقدمة لأن من شروطها أن تكون الورقة غير محمية ولكن تم الإستعانة الحمد لله بمشاركة أساتذتنا الكرام رجب جاويش و أبو حنين وعبد الله باقشير وبالتحديد مشاركة أستاذنا عبد الله باقشير رقم 12 بإضافة الأسطر التي وضعها لكود التصفية والموضوع هو : http://www.officena....showtopic=42655 حيث يتم فك الحماية أثناء عمل كود التصفية وبمجر الإنتهاء يتم الحماية مرة أخرى تصفية متقدمةمحاولات.rar
alfahad قام بنشر سبتمبر 27, 2012 الكاتب قام بنشر سبتمبر 27, 2012 اخي الشهابي بارك الله فيك لم افهم المقصود بالاعمدة الفارغة هل تقصد ترك اعمدة فارغة في صفحة البيانات (الصفحة التي سوف نعمل له تصفية ) ام المقصودة الصفحة التي يتم فيها لصق البيانات بعد تصفيتها. وايضاً بعد اختيار خيارات متقدمة ماهي الكيفية التي تقوم بتعبئة النطاقات لانني لم اعرف كيف ادخل عليها وارى كيفية تعبئتك للنطاقات بمعنى خطوات تعبئة نطاق البيانات ونطاق المعيار ونطاق نسخ الى ( تعبئة النطاقات في شاشة الخيارات المتقدمة ) وجزاك الله خير
alfahad قام بنشر سبتمبر 27, 2012 الكاتب قام بنشر سبتمبر 27, 2012 (معدل) ارجو الاطلاع على المرفق وتعليمي كيف يتم ذلك الشرح في صفحة المطلوب وجزكم الله خيراً وقد قمت بعملها كم شرح اخونا الشهابي ولكن المشكلة ان المغادرين بياناتهم لا تكون صحيحة بيانات السائق .rar تم تعديل سبتمبر 27, 2012 بواسطه alfahad
الشهابي قام بنشر أكتوبر 1, 2012 قام بنشر أكتوبر 1, 2012 أخي العزيزalfahad أولا : اعتذر عن تأخري في الرد ثاانيا : نعم أقصد زيادة عمود فارغ في ورقة البيانات ثالثا : name='alfahad' timestamp='1348776003' post='250667'] وقد قمت بعملها كم شرح اخونا الشهابي ولكن المشكلة ان المغادرين بياناتهم لا تكون صحيحة السبب أخي العزيز هو تكرار عنواين الأعمد في القادمين والمغادرين ماعدا ( من) في القادمين و( إلى ) في المغادرين فالتصفية تعتمد العنوان في العمود الأول ترتيبا وإذا تكرر نفس العنوان في عمود آخر يتم تجاهله وبما أن العناوين موجودة في بيانات القادمين ومجودة أيضا في بيانات المغادرين فعند التصفية يتم جلب بيانات القادمين ومن ثم أيضا يتم جلبها مرة أخرى في أعمدة بيانات المغادرين ولكن يمكن التخلص بزيادة حرف أو رقم في بيانات المغادرين للعناوين المكررة تفادياً للتكرار أو يمكن تسجيل كود تصفية لبيانات القادمين على حدة وكود آخرلتصفية بيانات المغادرين ويمكن في ما بعد دمج الكودين معا من محرر الأكواد وهذا ما فعلته في ملفك لاحظ الملف المرفق بيانات السائق (1).rar
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.