علي المصري قام بنشر يونيو 11, 2016 قام بنشر يونيو 11, 2016 اريد عمل تنسيق باستخدام vba لدي الخلية C2 بها الرقم اما 1 او 2 إذا كان الرقم الموجود 1 اريد تنسيق الخلية كما يلي الخط = times newroman Bold font.size =14 واما اذا كان الرقم 2 فإن الخط يكون Candara والباقي كما هو انا استخدمت التالي ولكن لم يعمل وتظهر رسالة خطأ with Cells(2,3).font .name ="Times New Roman" .Fontstyle="Bold" .size=14 end with 1
علي المصري قام بنشر يونيو 11, 2016 الكاتب قام بنشر يونيو 11, 2016 السلام عليكم ورحمة الله وبركاته شكرا استاذنا الفاضل ياسر العربي هذا اذا كانت الخلية في نفس الورقة اما اذا كانت الخلية التي تحتوي على الرقم 1 أو 2 في ورقة ومطلوب تنفيذ الكود على خلية أخرى في ورقة اخرى الكود لا يعمل الكود كما يلي If AliElbasry.Range("I5") = 1 Then With AliElbasry2.Range("C5").Font .Name = "Arial" .FontStyle = "Bold" .Size = 14 End With Else With AliElbasry2.Range("C5").Font .Name = "Candara" .FontStyle = "Bold" .Size = 14 End With End If حيث AliElbasry هي الورقة التي تحتوي على الخلية التي بها الرقم 1 أو 2 وهي الخلية I5 و AliElbasry2 هي الورقة المراد تطبيق الكود عليها وفي هذه الحالة هي الخلية C5 مع العلم انه مدمج معها اكثر من خلية ( C5:G5 ) فهل من حل؟؟؟؟؟؟؟؟؟؟ اريد الكود في حدث تنشيط الورقة AliELbasry2 Private Sub Worksheet_Activate()
أبو حنــــين قام بنشر يونيو 11, 2016 قام بنشر يونيو 11, 2016 السلام عليكم جرب هذا الكود Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = Range("C2").Address Then With Range("C2").Font Select Case Range("C2").Value Case Is = 1: .Size = 14: .Name = "times newroman": .Bold = True Case Is = 2: .Size = 14: .Name = "Candara": .Bold = False End Select: End With: End If End Sub 1
علي المصري قام بنشر يونيو 12, 2016 الكاتب قام بنشر يونيو 12, 2016 (معدل) شكرا جزيلا أبو حنين برجاء قراءة الرد الموجود قبل المشاركة الخاصة بحضرتك لاني وضحت فيها المطلوب بشكل أفضل جزاك الله خيرا وكل عام انتم بخير ورمضان كريم تم تعديل يونيو 12, 2016 بواسطه علي المصري
ياسر العربى قام بنشر يونيو 12, 2016 قام بنشر يونيو 12, 2016 الاخ الغالي ابو حنين مشكور على حلك الجميل ولكن يبقي العائق الذي يمنعنا من تقديم المساعدة بالشكل السليم وهو عدم وضوح المعطيات فلذلك ينتج اجابات خاطئة اخي الغالي علي المصري انا كنت مستغرب من موضوع ان الخلية نفسها لو فيها رقم واحد او اتنين يتم تعديل التنسيق ولكن عملتها لان كلامك يشير الى كدا __________________________ لدي الخلية C2 بها الرقم اما 1 او 2 إذا كان الرقم الموجود 1 اريد تنسيق الخلية كما يلي ____________________________ طبعا الخلية عائدة على C2 المهم عشان مطولشي عليكم تفضل المرفق Private Sub Worksheet_Activate() If AliElbasry.Range("I5") = 1 Then With AliELbasry2.Range("C5").Font .Name = "AdvertisingLight" .FontStyle = "Bold" .Size = 14 End With Else With AliELbasry2.Range("C5").Font .Name = "Candara" .FontStyle = "Bold" .Size = 14 End With End If End Sub او عن طريق الـــ Select Case كما وضح اخي الكريم ابو حنين Private Sub Worksheet_Activate() With AliELbasry2.Range("c5").Font Select Case AliElbasry.Range("i5").Value Case Is = 1: .Size = 14: .Name = "times newroman": .Bold = True Case Is = 2: .Size = 14: .Name = "Candara": .Bold = False End Select: End With End Sub Book1.rar 1
علي المصري قام بنشر يونيو 12, 2016 الكاتب قام بنشر يونيو 12, 2016 شكرا جزيلا أخي الأستاذ ياسر العربي واخي الأستاذ أبو حنين الكود التالي كتبته في احد الردود وهو مماثل للكود الذي تفضل به الأستاذ الفاضل ياسر العربي وعند المراجعة وجد التالي 11 ساعات مضت, علي المصري said: If AliElbasry.Range("I5") = 1 Then With AliElbasry2.Range("C5").Font .Name = "Arial" .FontStyle = "Bold" .Size = 14 End With Else With AliElbasry2.Range("C5").Font .Name = "Candara" .FontStyle = "Bold" .Size = 14 End With End If الكود الذي اعمل عليه كان مسبوق بالامر التالي ActiveSheet.Protect Password:="123" أي ان الورقة سوف يتم حمايتها أولا ثم يتم تنفيذ باقي الكود الخاص بالتنسيق مما أدى إلى ظهور الرسالة التي تفيد ان هناك خطأ ولقد تنبهت إليه بعد المناقشات التي تمت في الموضوع وبفضل الله ثم الأستاذ ياسر العربي والأستاذ أبو حنين اكتشفت هذا الخطأ فلكي اتغلب على هذه المشكلة والمحافظة على حماية الورقة كتب الكود كالتالي: Private Sub Worksheet_Activate() ActiveSheet.Unprotect Password:="AliElbasry123" 'هذا الجزء خاص بتحويل اتجاه الورقة Select Case CStr(AliElbasry.Range("I5")) Case Is = "2": Me.DisplayRightToLeft = False Case Is = "1": Me.DisplayRightToLeft = True End Select 'هذا الجزء خاص بعملية التنسيق المطلوبة If AliElbasry.Range("I5") = 1 Then With AliElbasry2.Range("C5:G5").Font .Name = "Times New Roman" .FontStyle = "Bold" .Size = 14 End With Else With AliElbasry2.Range("C5:G5").Font .Name = "Candara" .FontStyle = "Bold" .Size = 14 End With End If ActiveSheet.Protect Password:="123" End Sub 'شكرا جزيلا استاذ ياسر العربي وشكرا جزيلا استاذ أبو حنين اعذروني الدنيا رمضان والناس صايمة 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.