بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|

علي السحيب
المشرفين السابقين-
Posts
991 -
تاريخ الانضمام
-
تاريخ اخر زياره
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو علي السحيب
-
كيف اجعل الكود يعمل اليا بدون استخدام زر
علي السحيب replied to skyblue's topic in منتدى الاكسيل Excel
العفو أخي الكريم، نحن في الخدمة، بخصوص شرح الكود الخاص بالدالة VLOOKUP: [D17:X20].clearcontents هذا الجزء يقوم بإفراغ الخلايا التي ستخرج في بها النتائج من محتوياتها .. وذلك حتى تظل الخلايا فارغة عند حدوث أي خطاً .. والمقصود بالخطأ هنا ليس خطأ في إسترجاع النتائج .. وإنما الخطأ هو في وجود قيمة معينة في النطاق C17:C20 لا يوجد لها نظير في البيانات الأساسية كالقيمة 1 مثلاً في الملف المرفق في مشاركتي السابقة .. فهذه القيمة ليست موجودة في جدول البيانات الأساسية في النطاق AC1:AC4 .. وكذلك عندما تكون تكون أحد خلايا النطاق C17:C20 فارغة .. فيتم تطبيق نفس الشرط، وهذه الطريقة تحل محل إستخدام الدالة ISNA .. داخل ورقة العمل .. وكما لاحظنا الطريقة تختلف بين دوال ورقة العمل ودوال الـ VBA .. في الوصول لنفس الهدف. مع ملاحظة وجود الجزء التالي في بداية الكود .. On Error Resume Next وذلك لكي يتم الإستمرار في إسترجاع النتائج اللاحقة في حالة ورود أي خطأ من الأخطاء التي تحدثنا عنها .. وعدم توقف عمل الكود. For A = 4 To 24 هذا الجزء يمثل أرقام الأعمدة المطلوب وضع النتائج داخلها في النطاق D17:X20 .. وهذه الأعمدة تبداً من العمود رقم 4 إلى العمود رقم 24 .. ونفس هذه العدد يمثل أيضاً عدد الأعمدة المطلوب البحث داخلها في صفحة البيانات الأساسية .. ولكن هنا لم نعتمد على أرقام الأعمدة (لأنه في الدالة VLOOKUP .. تمت الإشارة إلى النطاق المطلوب البحث داخله) بل أعتمدنا على عدد الأعمدة داخل النطاق المحدد في الدالة VLOOKUP والذي يجب أن يتوافق مع عدد الأعمدة المطلوب وضع النتائج داخلها .. لذلك قمنا بإضافة عمودين فارغين بين العمود AC والعمود AF في صفحة البيانات الأساسية وذلك حتى يبداً البحث من العمود الرابع في النطاق (ِAF) وينتهي في العمود الرابع والعشرين (AZ) كما هو الحال في الجدول الخاص بالنتائج. هذا الجزء يمثل أرقام الصفوف في الجدول المطلوب وضع النتائج بداخله. For C = 17 To 20 Cells(C, A) = Application.WorksheetFunction.Vlookup(Cells(C, 3), ورقة6.[AC1:AZ4], A, 0) في هذا الجزء يتم تطبيق الدالة VLOOKUP .. حيث الرجوع لكل خلية يمثل رقم صفها المرجع C .. ويمثل رقم عمودها المرجع A .. هنا يتم وضع كلمة NEXT بعدد المراجع .. وهذه الكلمة تعني التالي .. وهي تعمل مع التعليمة For .. والتي تستخدم لتطبيق نفس الكود على أكثر من خلية. Next Next أتمنى أن يكون الشرح واضحاً، -
النطاق Calc .. هو النطاق الخاص بخلايا الإدخال (تاريخ الميلاد وتاريخ الوفاة) وعدد تلك الخلايا هو 6 .. وهذاالجزء من الصيغة التي أشرتي إليها: IF(OR(COUNT(Calc)<6 يقوم بحساب عدد الخلايا المملوئة من النطاق المذكور .. فإذا كان أقل من 6 .. فهذا يعني أن بعض تلك الخلايا غير مملوئة والعكس صحيح .. أما هذا المقطع: DATE(E3;D3;C3)>DATE(E6;D6;C6 فهو يقوم بالمقارنة بين تاريخ الميلاد وتاريخ الوفاة .. (إذا كان تاريخ الميلاد أكبر من تاريخ الوفاة أم لا). وعند تحقق أحد الشرطين السابقين يتم جعل خلايا النتائج فارغة حتى يتم ملئ جميع خلايا الإدخال وإدخال تاريخ ميلاد أصغر من تاريخ الوفاة .. وعندها يتم إعطاء العمر الحقيقي للشخص المتوفى. أتمنى أن يكون الشرح واضحاً،
-
إنجاز رائع أخي تامر .. ولكن على ماذا يعتمد ربط ألبوم الصور بالقائمة المنسدلة؟؟
-
كيف اجعل الكود يعمل اليا بدون استخدام زر
علي السحيب replied to skyblue's topic in منتدى الاكسيل Excel
تم التعديل على الطلبين المذكورين .. مع ملاحظة ضرورة إضافة عمودين فارغين بعد العمود AC .. في صفحة البيانات .. وذلك حتى يتم التوافق في عدد الأعمدة المطلوب البحث داخلها في صفحة البيانات وعدد الأعمدة المطلوب ملئها في الصفحة الرئيسية والآن شاهد المرفق، If_Function_in_VBA.rar -
راجعي الرابط التالي: http://www.officena.net/ib/index.php?showtopic=7916 يكون ذلك من خلال القائمة بيانات ثم التحقق من الصحة (التبويب الثاني)
-
هل يمكن عمل اكثر من ناحية طباعة فى ورقة الاكسل
علي السحيب replied to lord's topic in منتدى الاكسيل Excel
نعم .. sp ,fp, tp هي لتعريف نطاقات الطباعة فى الكود -
معرفة بيانات المتدرب من خلال إدخال الرقم
علي السحيب replied to alhosni494's topic in منتدى الاكسيل Excel
شاهد المرفق، ________________.rar -
اكيف اقيد ماكرو بالعمل في صفحة معينه دونا سواها ؟؟؟
علي السحيب replied to samaoy's topic in منتدى الاكسيل Excel
تم التعديل .. شاهد المرفق، ______________________.rar -
هل يمكن عمل اكثر من ناحية طباعة فى ورقة الاكسل
علي السحيب replied to lord's topic in منتدى الاكسيل Excel
تم تعديل الكود الخاص بطباعة الصفحات التي تحتوي على البيانات التي تم إختيارها من القائمة المنسدلة. وهذا هو الكود الخاص بالطباعة: Sub Pringing() FP = Application.WorksheetFunction.CountIf([F6:F35], Sheet1.ComboBox1) SP = Application.WorksheetFunction.CountIf([F39:F53], Sheet1.ComboBox1) TP = Application.WorksheetFunction.CountIf([F57:F71], Sheet1.ComboBox1) If FP = 0 And SP = 0 And TP = 0 Then MsgBox "!لا يوجد بيانات لطباعتها", vbExclamation, "عفـواً" ElseIf FP = 0 And SP = 0 And TP > 0 Then ActiveSheet.PrintOut 3, 3 ElseIf FP = 0 And TP = 0 And SP > 0 Then ActiveSheet.PrintOut 2, 2 ElseIf SP = 0 And TP = 0 And FP > 0 Then ActiveSheet.PrintOut 1, 1 ElseIf FP = 0 And SP > 0 And TP > 0 Then ActiveSheet.PrintOut 2, 3 ElseIf SP = 0 And FP > 0 And TP > 0 Then ActiveSheet.PrintOut 1, 1 ActiveSheet.PrintOut 3, 3 ElseIf TP = 0 And FP > 0 And SP > 0 Then ActiveSheet.PrintOut 1, 2 End If End Sub شاهد المرفق، ______________________________.rar -
الدالة OFFSET تستخدم للبحث عن محتوى خلية معينة بالإعتماد على التالي: 1- المرجع والذي يتم تحديده في الجزء الأول من الصيغة ويكون عبارة عن عنوان خلية A1 أو B1 أو غيرها. 2- رقم الصف والذي يتم تحديده في الجزء الثاني من الصيغة ويكون عبارة عن رقم صحيح أو رقم ناتج عن صيغة معينة. 3 - رقم العمود والذي يتم تحديده في الجزء الثالث من الصيغة ويكون عبارة عن رقم صحيح أو رقم ناتج عن صيغة معينة. وللتوضيح أكثر:- - المرجع يكون عبارة عن خلية داخل ورقة العمل ينطلق منها البحث. - رقم الصف هو عبارة عن عدد الصفوف المُراد تخطيها من صف المرجع حتى الوصول إلى الخلية المُراد معرفة محتواها .. - رقم العمود هو عبارة عن عدد الأعمدة المُراد تخطيها من عمود المرجع حتى الوصول إلى الخلية المُراد معرفة محتواها .. كيفية تحديد أرقام الصفوف والأعمدة:- 0 >> يستخدم في الصف والعمود عندما يكون الخلية المُراد الوصول إليها تقع في نفس صف أو عمود الخلية المرجع. 1 >> يستخدم في الصف والعمود للتقدم عمود واحد أو صف واحد إلى الأمام إبتداءً من الخلية المرجع .. وهكذا. -1 >> يستخدم في الصف والعمود للرجوع عمود واحد أو صف واحد إلى الخلف إبتداءً من الخلية المرجع .. وهكذا. أتمنى أن يكون هذا الشرح واضحاً .. والمرفق يحتوي على بعض الأمثلة عما تحدثنا عنه، ______________OFFSET.rar
-
أعتقد أن المشلكة تكمن في عدد أيام شهر فبراير (28 أو 29) يوم .. فلو أننا قمنا بتغيير اليوم في التاريخ الموجود في الخلية B2 من المرفق السابق إلى أي عدد أصغر من أو يساوي 28 لظهرت لنا نتائج سليمة 100% .. ومن غير المنطقي أن تتكون جميع أشهر السنة من 30 يوم .. وبإستخدام هذه الطريقة ستخرج لنا نتائج غير سليمة .. لذا أعتقد أن أفضل طريقة هي إستخدام الدالة DATE التي أشرت أنت إليها. على كل حال الصيغة تناسب أحتياجك هي التالية .. لأنها تعتمد على التقويم السنوي: =DATE(YEAR(C60),MONTH(C60)+18,DAY(C60)+21)
-
اكيف اقيد ماكرو بالعمل في صفحة معينه دونا سواها ؟؟؟
علي السحيب replied to samaoy's topic in منتدى الاكسيل Excel
الكود التالي يعمل فقط عندما يكون إسم ورقة العمل Sheet1 .. ويمكن تغيير هذا الإسم داخل الكود ليعمل مع ورقة عمل آخرى بإسم مختلف. Sub Color() If ActiveSheet.Name = "Sheet1" Then If [A2] = 56 Then [A2] = 0 [A2] = [A2] + 1 [B2].Interior.ColorIndex = [A2] End If End Sub شاهد المرفق، ______________________________.rar -
في الوقت الذي قمت فيه بوضع الرد على السؤال كنت في عجلة من أمري ولم أتأكد من أن القيم التي تم سردها هي القيم المتكررة فقط أو أكثر من ذلك .. على كل حال تم إضافة التعديل المطلوب على الصيغ .. وبالإضافة إلى ذلك قمت بكتابة الكود التالي ليقوم بفرز القيم المتكررة نيابة عن خمس أعمدة من الصيغ .. فأختر من الطريقتين ما يناسبك. Private Sub Worksheet_Change(ByVal Target As Range) TC = Target.Column TR = Target.Row If TC = 1 And TR > 1 And TR < 23 Then Set MyRange = [C2:C22] Application.ScreenUpdating = False MyRange.ClearContents For R = 2 To 22 If Application.WorksheetFunction.CountIf([A2:A22], Cells(R, 1)) > 1 Then With Columns(3).Rows(65536).End(xlUp) .Offset(1, 0) = Cells(R, 1) End With End If Next For Each Cell In MyRange If Application.WorksheetFunction.CountIf(MyRange, Cell) > 1 Then Cell.ClearContents End If Next MyRange.Sort [C2], xlAscending Application.ScreenUpdating = True End If End Sub شاهد المرفق، _______________________________________.rar
-
تم إضافة التعديل المطلوب، شاهد المرفق، _________________________.rar
-
حاولت التحكم بصيغه if ولكن لم انجح .....فمن يساعدني مشكورا
علي السحيب replied to atob's topic in منتدى الاكسيل Excel
جرب هذه الصيغة: =IF(H13>0,H14-H13,IF(H12>0,H14-H12,IF(H11>0,H14-H11,H14-H10))) وشاهد المرفق، __________.rar -
معرفة بيانات المتدرب من خلال إدخال الرقم
علي السحيب replied to alhosni494's topic in منتدى الاكسيل Excel
لو قمنا بتطبيق نفس طريقة الصيغة الموجودة في مشاركتي الأولى حول هذا الموضوع .. لأصبحت الصيغة تحتوي على عشرات السطور المتداخلة .. لذلك ولتسهيل فهم الصيغة .. قمت بتجميع بيانات جميع الصفحات داخل صفحة واحدة مربوطة بجميع الصفحات .. وأعتبرناها جدول واحد فقط .. وقمنا بجلب البيانات منه .. شاهد المرفق، ________________.rar -
معرفة بيانات المتدرب من خلال إدخال الرقم
علي السحيب replied to alhosni494's topic in منتدى الاكسيل Excel
الكود التالي ينفذ لك ما تريد: Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Address = "$E$4" Then [E5:E12] = "لا يوجد بيانات" [E5] = Application.WorksheetFunction.VLookup([E4], Sheet2.[D4:H14], 2, 0) [E6] = Application.WorksheetFunction.VLookup([E4], Sheet2.[D4:H14], 3, 0) [E7] = Application.WorksheetFunction.VLookup([E4], Sheet2.[D4:H14], 4, 0) [E8] = Application.WorksheetFunction.VLookup([E4], Sheet2.[D4:H14], 5, 0) [E9] = Application.WorksheetFunction.VLookup([E4], Sheet3.[F5:H14], 2, 0) [E10] = Application.WorksheetFunction.VLookup([E4], Sheet3.[F5:H14], 3, 0) [E11] = Application.WorksheetFunction.VLookup([E4], Sheet4.[B6:E15], 3, 0) [E12] = Application.WorksheetFunction.VLookup([E4], Sheet4.[B4:E15], 4, 0) [E4].Select End If End Sub شاهد المرفق، ___________________________________________.rar -
شاهد المرفق، _______________________.rar
-
شاهد المرفق، __________________.rar
-
لا. في المرفق الموجود في مشاركتي السابقة .. تم إضافة الخيارات بدون مصدر (تم كتابة الخيارات مباشرة دون الإشارة إلى مرجعهم على ورقة العمل) وقد تم في المرفق التالي ربط القائمة المنسدلة بأسماء أوراق العمل. تم عمل ذلك، تم عمل ذلك. تم عمل ذلك. تم عمل ذلك. والآن شاهد المرفق، _________________________.rar
-
الاكسل عندي ما حسب ما بعد الفاصلة صح او بالاصح الهلل
علي السحيب replied to tota2004's topic in منتدى الاكسيل Excel
أعتقد أن ما تحتاجه هو إستخدام الدالة ROUND .. بجانب صيغ الجمع، شاهد المرفق، 969696.rar -
حساب العمر بالهجري والميلادي (برنامج جاهز)
علي السحيب replied to علي السحيب's topic in منتدى الاكسيل Excel
راجع الرابط التالي: http://www.officena.net/ib/index.php?showtopic=13472 -
راجع المرفق الموجود في المشاركة الثامنة على الرابط التالي: http://www.officena.net/ib/index.php?showtopic=9674
-
أهلاً وسهلاً بك أستاذنا العزيز .. وكل عام وأنت بألف بخير .. وكما أنت مشتاق لهذا المنتدى .. فالمنتدى وجميع أعضائه أيضاً مشتاقون لك أكثر وأكثر .. وينتظرون إطلالتك عليهم من جديد بمشاركاتك المميزة ومواضيعك ودروسك النافعة.
-
راجع الرابط التالي: http://www.officena.net/ib/index.php?showtopic=14038