اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

تنسيق خط في خلية


الردود الموصى بها

اريد عمل تنسيق باستخدام 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 

 

  • Like 1
رابط هذا التعليق
شارك

السلام عليكم ورحمة الله وبركاته

شكرا استاذنا الفاضل ياسر العربي

هذا اذا كانت الخلية في نفس الورقة

اما اذا كانت الخلية التي تحتوي على الرقم 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()

 

رابط هذا التعليق
شارك

السلام عليكم

جرب هذا الكود

 

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

 

  • Like 1
رابط هذا التعليق
شارك

شكرا جزيلا أبو حنين

برجاء قراءة الرد الموجود قبل المشاركة الخاصة بحضرتك لاني وضحت فيها المطلوب بشكل أفضل

جزاك الله خيرا

وكل عام انتم بخير

ورمضان كريم

تم تعديل بواسطه علي المصري
رابط هذا التعليق
شارك

الاخ الغالي ابو حنين مشكور على حلك الجميل

ولكن يبقي العائق الذي يمنعنا من تقديم المساعدة بالشكل السليم

وهو  عدم وضوح المعطيات فلذلك  ينتج اجابات خاطئة :blink:

اخي الغالي علي المصري انا كنت مستغرب من موضوع ان الخلية نفسها لو فيها رقم واحد او اتنين يتم تعديل التنسيق

ولكن عملتها لان كلامك يشير الى كدا 

__________________________

لدي الخلية C2 بها الرقم اما 1 او  2

إذا كان الرقم الموجود 1 اريد تنسيق الخلية كما يلي

____________________________

طبعا الخلية عائدة على C2

المهم عشان مطولشي عليكم :wink2:

تفضل المرفق

 

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

 

  • Like 1
رابط هذا التعليق
شارك

شكرا جزيلا  أخي الأستاذ ياسر  العربي واخي الأستاذ أبو حنين

الكود التالي كتبته في احد الردود وهو مماثل للكود الذي تفضل به الأستاذ الفاضل ياسر العربي

وعند المراجعة وجد التالي

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
'شكرا جزيلا استاذ ياسر العربي وشكرا جزيلا استاذ أبو حنين

 

اعذروني الدنيا رمضان والناس صايمة

  • Like 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information