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

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

درسته تقریبا جوابشون یکی هست ولی چطوری کد بنویسم که مثل همون حالت دستی بشه؟
توضیح اینکه من ماکرو رو دستی ضبط کردم و تو حالت دستی مثل همون حالت اول شد ولی وقتی کدش رو رفتم نگاه کردم حالت دوم بود وقتی کد رو اجرا کردم مثل حالت دوم تو قسمت ConditionalFormatting نشون میداد
با تشکر
یه سری قواعد 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 نشون میداد
با تشکر
کامنت