-
Posts
4533 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
43
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو طارق محمود
-
السلام عليكم أخي الحبيب ماأسهل تكوين الدالة ولكن عندي شعور قوي أنك لو أرسلت الملف ولو جزء بسيط منه ، سوف أجد لك حلا أفضل بكثير عموما لو أردت دمج دالتي OR و IF فلابد من الصيغة التالية = IF ( OR( a,b),c,d) حيث a,b هما الشرطين الذي لو تحقق أحدهما يأتي جواب IF وهو c أما إذا لم يتحقق كلا من الشرطين a,b يأتي الوضع d مثال =IF(OR(A1=6,B1=7),1,2) لو الخلية A1=6 أو B1=7 سيكتب 1 وإلا سيكتب 2 وطبعا يجوز إستخدام الدالة لأكثر من شرطين وبهذا المنطق يمكن كتابة OR(a1,a2,a3,a4,....) حيث a1,a2,a3,a4,... هي شروط الدالة OR وعلي هذا يمكن إختصار معادلتك التي في المشاركة الأولي إلي =IF(OR(K5=R4,K5=S4,K5=T4,K5=U4,K5=V4,K5=W4,K5=X4,K5=Y4),F5,"nothing")
-
السلام عليكم إن كنت تقصد أن يبدأ التسلسل من 1 عند تغيير التاريخ فأضف السطر التالي إلي آخر الكود [C2].Value = 1 ليصبح الكود كله بعد التعديل هكذا Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Column <> 3 Or Target.Row <> 3 Then Exit Sub m1 = Month([iu2].Value) m2 = Month(Target.Value) If m1 = m2 Then Exit Sub [iu2].Value = Target.Value [e2].FormulaR1C1 = [e2].FormulaR1C1 & "+1" [C2].Value = 1 End Sub
-
لشرح هذا السطر من الكود Selection.AutoFill Destination:=Range("A2", [m100000].End(xlUp).Offset(0, -12)) اولا أعتقد ان الخطأ يأتي من ان الإكسل 2003 ليس به حتي السطر 100000 وقد غيرت كل m100000 إلي m60000 وهذا في 3 مواضع ومشي الحال الشرح بداية أثناء النسخ من الشيتات قبل إلغاؤها ، لم أخذ طبعا أول عمود اللي فيه الرقم المسلسل وإذا رجعت خطوتين قبل السطر المطلوب ستجد [A2].Value = 1: [A3].Value = 2 Range("A2:A3").Select [A3].Activate وهذا الجزء يخبر الإكسل بوضع 1 في الخلية A2 ثم 2 في الخلية A3 ثم ينشط الخلية A3 ثم هذا السطر بعد تغييره Selection.AutoFill Destination:=Range("A2", [m60000].End(xlUp).Offset(0, -12)) وهو يجعل الإكسل يملأ أوتوماتيكيا بنفس نسق 1-2 ثم 3 - 4 -5 هكذا إلي أن يصل إلي الخلية [m60000].End(xlUp).Offset(0, -12) وماذا يعني هذا هذه الخلية يحصل عليها عن طريق الخلية m60000 إلي أعلي للوصول لآخر خلية في العمود M بها بيانات ثم منها Offset لليمين 12 (العمود A) أرجو تكون واضحة وهذا هو الكود كاملا بعد التعديل Sub Files_Collect() ' ' Macro1 Macro ' Macro recorded 29/04/2009 by user ' Dim z(9) As Variant z(1) = "احمد السدعي" z(2) = "عبود الدقيل" z(3) = "محمد العمورات" z(4) = "سامي" z(5) = "اسامة باشا" z(6) = "خالدبادويلان" For i = 1 To 6 a = ThisWorkbook.Path & "\" & z(i) & ".xls" Workbooks.Open Filename:=a Sheets(1).Select Sheets(1).Copy Before:=Workbooks("Total.xls").Sheets(1) Workbooks(z(i) & ".xls").Activate ActiveWindow.Close ActiveSheet.Name = i Next i Worksheets("TOTAL").Select [a2].Select End Sub Sub Shet_Collect() x = Worksheets.Count Worksheets("TOTAL").Select Range("B1").Select Application.DisplayAlerts = False For i = x - 1 To 1 Step -1 Worksheets(i).Select Range("B2", [m2000].End(xlUp)).Select Selection.Copy Worksheets("TOTAL").Select [m60000].End(xlUp).Offset(1, -11).Select ActiveSheet.Paste Sheets(i).Delete Next i Application.DisplayAlerts = True [a2].Value = 1: [A3].Value = 2 Range("A2:A3").Select [A3].Activate Selection.AutoFill Destination:=Range("A2", [m60000].End(xlUp).Offset(0, -12)) [a2].Copy Range("A2", [m60000].End(xlUp).Offset(0, -12)).Select Selection.PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode = False [a2].Select End Sub
-
السلام عليكم اخي الكريم غيرت لك اسماء الملفات و غيرت عدد الملفات من 4 إلي 6 أنظر الكود في الصورة المرفقة العدد 6 يساوي عدد الملفات التي بأسماء الموظفين ، تستطيع تغييره وفي أول الكود Dim z(9) تغيره أيضا لو زادوا عن 9 لأ ، ليس عادي ستجد في الكود الأول Files_Collect في السطر السابع من الأسفل إسم الملف Total.xls Sheets(1).Copy Before:=Workbooks("Total.xls").Sheets(1) ولازم تغيره للإسم الذي تريد وكذلك في الماكرو الثاني إسم الشييت Total نعم سيتم ذلك إن شاء الله الاجمالي وتم تصليحها لتسع حتي 100,000 تفضل المرفق بعد التعديلات Jazea2.rar
-
ممكن وإن كان الأسهل أن تكون ارقاما الأفضل ان كل موظف يحذف القديم ويضع بيانات جديدة سيكون تراكمي في نفس الصفحة وإن كنت تريد غير ذلك ، ممكن ايضا لكني تنبهت الآن لنقطة صغيرة في الكود لقد وضعت عنوان نهاية للخلايا 6000 سطر فإن كان العمل قد يزيد عن ذلك فلتذهب الي السطر الثالث من الأخر في الكود الثاني Sub Shet_Collect() والذي كان Range("A2", [m6000].End(xlUp).Offset(0, -12)).Select ولتجعله مثلا Range("A2", [m100000].End(xlUp).Offset(0, -12)).Select
-
السلام عليكم مرفق مجلد (فولدر) به نموذج للعمل ستجد في المجلد أربعة ملفات 1,2,3,4 الملف الرئيس Total كل واحد من الملفات الأربعة خاص بموظف مختلف وبها بعض البيانات كمثال، إفتحها لتراها فقط ثم إغلقها ثم إفتح الملف الرئيس Total ستجد به زرين لتشغيل الماكرو الزر (1) إذا ضغطته سيفتح الملفات الأربعة ثم يغلقها واحد تلو الآخر ويأخذ نسخة منها في شيتات منفصلة في الملف الأصلي أما الزر (2) فيتعامل مع الشيتات الأربع ، يأخذ البيانات بها ويضعها في الشيت الرئيسي TOTAL أسفل بعضها ثم يلغي الشيتات الأربع جرب ثم اخبرني Jazea.rar
-
السلام عليكم تفضل المرفق كما تريد ولكن كل مشروع منفصل ولم أجمع علي أكبر واحد منها كما طلبت أيضا في آخر اليمين ستجد اعداد الموظفين في الشيت كما ذكرتها لك بالمشاركة السابقة Book8-3.rar
-
السلام عليكم سأحاول في هذا ولكن ليس الآن لضيق وقتي لكن ممكن تجرب دالة Countif أو Countifs أو Sumif بالنسبة لقولك لأنك ببساطة لم تملأ أية بيانات عن الفورمان وكذلك الحال لكثير من الوظائف الأخري مثلا الوظائف اللي انت محددها في الورقة الأخيرة إجمالي عددها في الورقة الأولي كالتالي FOREMEN 0 Charghand 0 Welder 418 Fitter / Fabricator 0 Rigger 124 Rolling Mech 0 Grinder 16 Helper 246 Electrician/Helper 0 NDT/NDT Asst 0 OH.OPTR 0 Scaffolder 62 Painters 0 Carpenter 6 Store/Admin 0 Mechanist 0 P&M 0 Office Staff 0
-
السلام عليكم تفضل أخي المرفق وبه المعادلات المطلوبة وممكن تطويره اكثر ليقرأ إسم الورقة اوتوماتيكيا بدلالة عمود التاريخ وذلك بإستخدام دالة INDIRECT ولكن المعادلة ستصبح طويلة جدا Book8-2.rar
-
السلام عليكم الشق الأول من سؤالك والخاص بتغير رقم صفحة اليومية حسب رقم القيد بالخلية C2 وحيث ان الخلية C2 مرتبطة ببيانات في الخلية IV2 والتي تأخذ بياناتها من ملف آخر عندك فالحل أن تضع المعادلة التالية في الخلية E2 =INT((C2-1)/47)+1 أنا الشق الثاني من السؤال والخاص بفتح صفحة يومية جديدة حسب تغير الشهر في التاريخ بالخلية C3 فالحل أن تضع الكود التالي في حدث الورقة Private Sub Workbook_Open()Private Sub Workbook_Open() x_date = Sheets("قيداليومية").[c3].Value [IU2].Value = x_date End Sub Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Column <> 3 Or Target.Row <> 3 Then Exit Sub ttv = Target.Value If ttv = [IU2].Value Then Exit Sub Target.Value = [IU2].Value Sheets("قيداليومية").Copy Before:=Sheets(1) [IU2].Value = ttv [c3].Value = ttv End Sub
-
السلام عليكم أخي الكريم بصراحة قرأت الموضوع قبل ذلك ولم أفهم جيدا فتركت الموضوع لغيري عسي ان يفهمه بسرعة هل يعني هذا أن الخلايا مشتركة بينهم أم كل موظف مختص بمجموعة من الخلايا أرجو التوضيح جيدا أي الورقات (أو الأجزاء) مشتركة بين الموظفين أي يعمل عليها اكثر من موظف في نفس الوقت وعندك عمود بعنوان "اسم المدقق" ، فهل هذه هي أسماء الموظفين (احمد السدعي - عبود الدقيل - محمد العمورات - سامي - اسامة باشا - خالدبادويلان) إن كان كذلك فهذا يعني أنه لاتوجد خلايا مشتركة بمعني أن الخليه ذاتها لن يكتب به أكثر من موظف واحد ومن الممكن في هذه الحالة أن تعمل لكل موظف ورقة (أو ملف) بإسمه مثلا وعن طريق ماكرو تتجمع البيانات في الآخر بسهولة ويمكن أن يحتوي الماكرو علي آلية تجميع وتنسيق البيانات أسفل بعضها مع إلغاء أوالإحتفاظ بالبيانات السابقة ، كما تحب
-
إن شاء الله إرسل ماشئت علي المنتدي وسأقوم أنا أو غيري بعمل ماتريد كل علي حسب وقته أقول هذا فقط لأنك قد ترسل الموضوع في وقت اكون فيه مشغول فلاتحرم نفسك من مشاركات باقي الأخوة بالتوفيق إن شاء الله
-
Please send an example
-
السلام عليكم ممكن باستخدام SUMIF وليس SUMIFS عن طريق كتابتها مرتين (مرة لكل تاريخ) والطرح تفضل المرفق Book2.rar
-
كيفية معرفة الفواتير المكررة المدخلة على حساب مورد معين
طارق محمود replied to MO33TAZ2003's topic in منتدى الاكسيل Excel
السلام عليكم تفضل المرفق وبه معادلة وتنسيق شرطي مع شرح بسيط invoice_repeat.rar -
إلى من لديه معرفه جيده في الـ PIVOT TABLE
طارق محمود replied to al-baz's topic in منتدى الاكسيل Excel
السلام عليكم ماشاء الله عمل رائع أخي مصطفي أكثر من ممتاز أخي الخالدي كما عودتنا الأخت ليمونة ممكن تأخدي فكرة عن Pivot table من الرابط التالي http://www.officena.net/Taher/Pivot/Pivot.htm أخي الباز أنظر الفيديو المرفق P_Table_Layout.rar -
السلام عليكم أخي العزيز ممكن تضغط علي اول حرف من كل أمر بإكسل 2003 يعني في 2010 تضغط ALT ثم I إختصاار Insert ثم N إختصاار Name ثم P إختصاار Past ستري قائمة صغيرة إضغط علي Past List
-
السلام عليكم لم افهم ماتقصد بالسجل إذا كنت تقصد رقم الصف بالإكسل إستخدم دالة =row()
-
إشرح اكثر لم افهم اعتقدت انني حللتها
-
السلام عليكم اخي ايمن أنظر الفيديو المرفق nawras.rar
-
السلام عليكم أخي أيمن تفضل المرفق 2_2.rar
-
السلام عليكم تفضل أخي المرفق 3.rar