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

ماكرو لعمل تنسيق شرطي


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

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

اخواني الاعزار عندي سجل علامات (300 سجل معبأه وجاهزة)لطلاب صف معين عملت ماكرو لعمل تنسيق شرطي للعلامات التي اقل من خمسين بكبسة زر، حيث أقوم باختيار العمود الذي أريده وأضغط (Ctrl + l) فيقوم بعمل التنسيق الشرطي.

المشكلة أنه عندي : ما أريده ان الماكرو يقوم لوحده بمعرفة العمود بناءً على اسمه ويقوم بعمل هذا التنسيق الشرطي، علما بأنه في نفس الصفحة موجود اكثر من عمود بنفس الاسم

مرفق مثال

سبحان الله وبحمده سبحان الله العظيم

FailFormat.rar

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

السلام عليكم

إستبدل الماكرو بالتالي

Sub FailForman()

'

' FailForman Macro

'

' Keyboard Shortcut: Ctrl+Shift+I

'Select columns titeled المعدل


t = ActiveSheet.Cells.SpecialCells(xlLastCell).Column


For x = 1 To t

	If myR = "" Then fasel = "" Else fasel = ","

	If Cells(1, x) = "المعدل" Then

    	myR = myR & fasel & Cells(2, x).Address & ":" & Cells(20, x).Address

	End If

Next x


Range(myR).Select



	Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, _

    	Formula1:="=50"

	Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority

	With Selection.FormatConditions(1).Font

    	.Bold = True

    	.Italic = False

    	.Underline = xlUnderlineStyleSingle

    	.Color = -16776961

    	.TintAndShade = 0

	End With

	Selection.FormatConditions(1).StopIfTrue = False


End Sub

مع استبدال الرقم 20 في السطر

myR = myR & fasel & Cells(2, x).Address & ":" & Cells(20, x).Address

بأي عدد من الأسطر مثلا 300

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

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

اخي ابو العرايس 

اضافة لحل الاخ طارق 

يمكنك استخدام كود اخر مختلف 

جرب هذا الكود 

 


Sub Conditional()

Dim c As Range, cl As Range, LR As Integer

LR = Range("a" & Rows.Count).End(xlUp).Row

For Each c In Range("A1:x1")

    If c.Value = "المعدل" Then

        For Each cl In Range(Cells(2, c.Column), Cells(LR, c.Column))

            If cl.Value < 50 Then

                 With cl.Font

                    .Underline = xlUnderlineStyleSingle

                    .ColorIndex = 6

                    .Bold = True

                 End With

            End If

        Next cl

    End If

Next c

End Sub

 

دمتم في حفظ الله 

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

اخواني الاعزاء لقد قمت بتنفيذ الكودين ، ولكن الكود الاول يعطي خطأ عند Range(myR).Select، وماذا تعني هذه العبارة xlLastCell

والكود الثاني لا يفعل شيء

ياريت يا اخواني يتم تنفيذها على المثال المرفق

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

سحبان الله وبحمده سبحان الله العظيم

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

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