عبدالرحمن بدوى قام بنشر ديسمبر 4, 2015 قام بنشر ديسمبر 4, 2015 السلام عليكم وحمة الله وبركاته تحية طيبة لاساتذتى الافاضل فى منتدى اوفيسنا المتميز انا اريد ان مساعدتكم فى مسح محتويات الصف ( وليس مسح الصف كله ) بناء على قيمة خلية انا كنت اريد تلوين الصف ومسح محتوياته استطعت ان احل التلوين من خلال التنسيق الشرطى لكنى لم استطع حل مشكلة المسح الملف المرق هو مثال لشيت موردين مقيد به بياناتهم وعند كتابة نجمة * فى العمود A يتم تلوين الصف باللون الاخضر اريده ايضا ان يمسح محتويات هذا النطاق الذى تم تلوينه او يمسح الصف كله ايا كان واريد مساعدتكم ان كان بتنسيق شرطى كما فعلت فى اللون او ماكرو او معادلة او ماشابه وجزاكم الله خيرا 111.rar
سليم حاصبيا قام بنشر ديسمبر 4, 2015 قام بنشر ديسمبر 4, 2015 استعمل هذا الكود Sub etoil() lr = Cells(Rows.Count, 1).End(3).Row For x = 15 To lr If Cells(x, 1) = "*" Then Cells(x, 1).Resize(1, 4).ClearContents Next End Sub
عبدالرحمن بدوى قام بنشر ديسمبر 4, 2015 الكاتب قام بنشر ديسمبر 4, 2015 18 hours ago, سليم حاصبيا said: استعمل هذا الكود Sub etoil() lr = Cells(Rows.Count, 1).End(3).Row For x = 15 To lr If Cells(x, 1) = "*" Then Cells(x, 1).Resize(1, 4).ClearContents Next End Sub اخى الفاضل جزاكم الله خيرا على الاهتمام والمساعدة لكن الكود فيه حاجتين اريد مساعدتك فيها اولا انه يقوم بمسح الصف كله بما فى ذلك الخلية المكتوب فيها النجمة وبالتالى يقوم بالغاء التنسيق الشرطى المتعلق بالنجمة وهو تلوين الصف باللون الاخضر فانا اريده ان يمسح الصف فى الخلايا ما بعد النجمة وأن يبقى خلية النجمة بدون مسح حتى يبقى على التنسيق الشرطى كما هو ثانيا الكود يتطلي ان استدعيه اما من خلال زرار او alt + f8 وانا اريده ان يعمل تلقائيا دون استدعاء اى انه بمجرد ان اكتب النجمة يقوم مباشرة بمسج الخلايا بدون تدخل منى وجزاكم الله خيرا
عبدالرحمن بدوى قام بنشر ديسمبر 5, 2015 الكاتب قام بنشر ديسمبر 5, 2015 Sub clear_row_content() ' ' clear_row_content Macro ' to clear row content if the 1 st cell contain * ' ' Keyboard Shortcut: Ctrl+m ' Range("A6").Select ActiveCell.FormulaR1C1 = "*" Range("B6:D6").Select Selection.ClearContents End Sub السلام عليكم انا حاولت اسجل الكود بالطريقة البدائية خالص ليمسح الخلايا ما بعد النجمة وكان هذا الكود لكن طبعا المشكلة ان الكود يعمل فقط على الصف الاول فقط كما هو موضح فى المرفقات اريد من فضلكم تعديل الكود ليعمل على الشيت كلها وليس الصف الاول فقط يعنى بمجردما اكتب * فى اى الخلية الاولى فى اى صف يتم مسح محتويات الصف كما الحال فى الخلية الاولى فى الجدول وكما وضحت اريده ان يعمل تلقائيا دون تدخل منى نهائيا فبمجرد كتابة * يتم التلوين ومسح المحتويات 111.rar
عبدالرحمن بدوى قام بنشر ديسمبر 5, 2015 الكاتب قام بنشر ديسمبر 5, 2015 9 hours ago, الـعيدروس said: السلام عليكم شاهد المرفق 222.rar اخى الفاضل جزاكم الله خيرا لكنك ارفقت لى نفس الملف مرة أخرى تقريبا حيث ان الكود لم يتغير فيه شىء وأيضا لا يتم مسح الا الصف الاول فقط حاول التاكد مرة أخرى لعلك أرفقته خطأ وجزاكم الله خيرا
الـعيدروس قام بنشر ديسمبر 5, 2015 قام بنشر ديسمبر 5, 2015 الكود يعمل عندما تكتب في اي خليه في العمود A نجمة يقوم بالمسح
عبدالرحمن بدوى قام بنشر ديسمبر 5, 2015 الكاتب قام بنشر ديسمبر 5, 2015 اخى الفاضل لعل هناك مشكلة عندى انا هذه صورة من الملف بعد تنفيذ الماكرو انا استخدم اوفيس 2007 انتربرايز ولا ادرى ما المشكلة فى تنفيذ الماكرو عندى فى الصف الاول فقط هل قمت بالتعديل على الكود ؟ ام ماذا ل الكود المسجل فى الملف المرفق نفس الكود الذى وضحته فى التعليق السابق وأريد أيضا ان يتم مسح محتويات الصف تلقائيا بمجرد كتابة النجمة كما يتم تغيير اللون تلقائيا بكتابة النجمة وجزاكم الله خيرا
سليم حاصبيا قام بنشر ديسمبر 5, 2015 قام بنشر ديسمبر 5, 2015 (معدل) حاول ان تجرب هذا الكود Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False If Target.Column <> 1 Or Target.Row < 6 Then GoTo 1 Application.EnableEvents = False '========================================== lr = Cells(Rows.Count, 1).End(3).Row For x = 6 To lr If Cells(x, 1) = "*" Then Cells(x, 2).Resize(1, 3).ClearContents Next '===================================== 1: Application.EnableEvents = True Application.ScreenUpdating = True End Sub تم تعديل ديسمبر 5, 2015 بواسطه سليم حاصبيا 1
عبدالرحمن بدوى قام بنشر ديسمبر 5, 2015 الكاتب قام بنشر ديسمبر 5, 2015 1 hour ago, سليم حاصبيا said: حاول ان تجرب هذا الكود Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False If Target.Column <> 1 Or Target.Row < 6 Then GoTo 1 Application.EnableEvents = False '========================================== lr = Cells(Rows.Count, 1).End(3).Row For x = 6 To lr If Cells(x, 1) = "*" Then Cells(x, 2).Resize(1, 3).ClearContents Next '===================================== 1: Application.EnableEvents = True Application.ScreenUpdating = True End Sub تمام يا اخى جزاكم الله خيرا هو المطلوب ولكن كيف اجعله يتم تنفيذه على شيت محدد لأن الملف الذى سأستخدمه فيه يحتوى على شيتات كتير (مخزن و مبيعات ومشتريات .......) فكيف أجعله يعمل على شيت محدد وليكن شيت المبيعات ؟ وأيضا أريده أنه بعد أن يمسح محتويات الصف الذى يحتوى على النجمة أن ينفذ كود أخر فكيف يمكن أن أفعل ذلك هل فقط أضيف call macro قبل كلمة end sub ?
سليم حاصبيا قام بنشر ديسمبر 6, 2015 قام بنشر ديسمبر 6, 2015 حيث ان الماكرو موجود في حدث الصفحة يجب وضعه في الصفحة التي تريد العمل عليها و هو لا يعمل في اي صفحة غيرها اما بالنسبة للسؤال الثاني يجب ان تضيف كلمة Call و بعدها اسم الماكرو المطلوب بدون () و ذلك بعد كلمة Next مباشرة 2
عبدالرحمن بدوى قام بنشر ديسمبر 8, 2015 الكاتب قام بنشر ديسمبر 8, 2015 On ٥/١٢/٢٠١٥ ٦،٣٨،٥٥, الـعيدروس said: الكود يعمل عندما تكتب في اي خليه في العمود A نجمة يقوم بالمسح اخى الافاضل اعذرنى حقا فقد كانت لدى مشكلة حقا فى هذا الملف ولكن تمت تجربته مرة أخرى ووجدته يعمل On ٥/١٢/٢٠١٥ ٤،١٢،٤٨, الـعيدروس said: السلام عليكم شاهد المرفق 222.rar On ٥/١٢/٢٠١٥ ١٠،١٩،٥٣, سليم حاصبيا said: حاول ان تجرب هذا الكود Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False If Target.Column <> 1 Or Target.Row < 6 Then GoTo 1 Application.EnableEvents = False '========================================== lr = Cells(Rows.Count, 1).End(3).Row For x = 6 To lr If Cells(x, 1) = "*" Then Cells(x, 2).Resize(1, 3).ClearContents Next '===================================== 1: Application.EnableEvents = True Application.ScreenUpdating = True End Sub
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.