سلام
یه سری قواعد ConditionalFormatting رو به صورت ماکرو ضبط کردم و بعد دستی ویرایشش کردم
کد رو که اجرا میکنم بدون هیچ گونه خطایی تمام میشه ولی چک که کردم یکی از قواعدی که تعریف کرده بودم انجام نشده بود بعد اجرا کد با F8 کد که به خط زیر میرسه تمام میشه و خط های بعدی دیگه اجرا نمیشه!!

کد:
Range("X2:X" & LastRow & ",Z2:Z" & LastRow & ",AB2:AB" & LastRow).Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=NOT(hasformula(L2))"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = True
اخرین خطی که اجرا میشه خط زیر هست:
کد:
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=NOT(hasformula(L2))"
بعدش دیگه هیچی اجرا نمیشه
دقیقا کد قاعده ای که تعریف نشده بود بعد از این کد ها بود جاش رو که عوض کردم تعریف شد ولی خود این کد هم تا اخر اجرا نمیشه ضمن اینکه یه چند تا دستور هم هست که میخوام بعد از این کد اجرا بشه
کسی میدونه دلیلش چی هست؟
فقط بگم
یه ماژول تعریف کردم که داخلش اینو نوشتم:
کد:
Function HasFormula(rg As Range) As Boolean
   HasFormula = rg.HasFormula
End Function
اخرین خطی که اجرا میشه فرمولش به این کد ارجاع داره حالا نمیدونم ربطی به این داره یا نه

ضمنا یه سوال دیگه:
وقتی قاعده " اگر سلول خالی هست " رو به صورت دستی تعریف میکنم اینجوری میشه:



ولی با کد نویسی از فرمول استفاده میکنه و اینجوی میشه:



درسته تقریبا جوابشون یکی هست ولی چطوری کد بنویسم که مثل همون حالت دستی بشه؟
توضیح اینکه من ماکرو رو دستی ضبط کردم و تو حالت دستی مثل همون حالت اول شد ولی وقتی کدش رو رفتم نگاه کردم حالت دوم بود وقتی کد رو اجرا کردم مثل حالت دوم تو قسمت ConditionalFormatting نشون میداد
با تشکر
اخطار: این یک موضوع قدیمی است
به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.