نمایش نتایج: از شماره 1 تا 8 , از مجموع 8

موضوع: اجرا نشدن قسمتی از کد

  1. #1


    آخرین بازدید
    2023/09/10
    تاریخ عضویت
    July 2010
    نوشته ها
    118
    امتیاز
    28
    سپاس
    90
    سپاس شده
    30 در 18 پست
    تعیین سطح نشده است

    اجرا نشدن قسمتی از کد

    سلام
    یه سری قواعد 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 نشون میداد
    با تشکر
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.

  2.  

  3. #2


    آخرین بازدید
    2023/09/10
    تاریخ عضویت
    July 2010
    نوشته ها
    118
    امتیاز
    28
    سپاس
    90
    سپاس شده
    30 در 18 پست
    تعیین سطح نشده است

    سلام
    کسی نیست راهنمایی کنه؟

  4. #3


    آخرین بازدید
    یک هفته پیش
    تاریخ عضویت
    June 2012
    نوشته ها
    698
    امتیاز
    4179
    سپاس
    625
    سپاس شده
    1,970 در 623 پست
    تعیین سطح نشده است

    با سلام

    دوست عزیز

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

    موفق باشید میر

  5. #4


    آخرین بازدید
    2023/09/10
    تاریخ عضویت
    July 2010
    نوشته ها
    118
    امتیاز
    28
    سپاس
    90
    سپاس شده
    30 در 18 پست
    تعیین سطح نشده است

    سلام
    اینم نمونه فایل
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar 1396.rar اطلاعات (27.4 کیلو بایت, 10 نمایش)

  6. #5


    آخرین بازدید
    یک هفته پیش
    تاریخ عضویت
    June 2012
    نوشته ها
    698
    امتیاز
    4179
    سپاس
    625
    سپاس شده
    1,970 در 623 پست
    تعیین سطح نشده است

    با سلام

    دوست عزیز لطفا فانکشن قبلی را با دستورات زیر تغییر دهید .
    کد:
    Function HasFormula(Cell)
    HasFormula = Cell.HasFormula
    End Function
    و خط مربوط به فانکش در کد اجرایی را بشکل زیر تغییر دهید

    کد:
     Range("X2:X" & LastRow & ",Z2:Z" & LastRow & ",AB2:AB" & LastRow).Select
        Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
         "=NOT(Cell.HasFormula(L2))"
    موفق باشید میر

  7. سپاس ها (2)


  8. #6


    آخرین بازدید
    2023/09/10
    تاریخ عضویت
    July 2010
    نوشته ها
    118
    امتیاز
    28
    سپاس
    90
    سپاس شده
    30 در 18 پست
    تعیین سطح نشده است

    سلام
    ممنون بابت راهنمایی فقط چند تا سوال
    مشکل چی بود که کد نیمه تمام میموند و البته خطا هم نمیداد؟
    بعضی وقتا فرمول رو من توی سلول ها به سوت دستی مینویسم الان فرمول رو تغییر دادید مشکلی که پیش نمیاره؟
    و اینکه راجع به قسمت دوم سوالم که براش عکس گذاشتم چیزی به ذهنتون میرسه راهنمایی کنید؟
    با تشکر
    ============
    ویرایش:
    من الان تست کردم درسته کد ها تا اخر اجرا میشه ولی عملکرد فانکشن درست نیست
    من میخوام توی اون رنج اگه سلول فرمول نداشت رنگش بنفش بشه ولی الان با این کد نمیشه!!!
    ویرایش توسط master : 2017/08/17 در ساعت 09:51

  9. #7


    آخرین بازدید
    یک هفته پیش
    تاریخ عضویت
    June 2012
    نوشته ها
    698
    امتیاز
    4179
    سپاس
    625
    سپاس شده
    1,970 در 623 پست
    تعیین سطح نشده است

    با سلام

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

    ممنون

  10. #8


    آخرین بازدید
    2023/09/10
    تاریخ عضویت
    July 2010
    نوشته ها
    118
    امتیاز
    28
    سپاس
    90
    سپاس شده
    30 در 18 پست
    تعیین سطح نشده است

    سلام
    من میخوام توی رنج زیر اگه محتویات سلول ها فرمول نبود بنفش بشه:
    کد:
    Range("X2:X" & LastRow & ",Z2:Z" & LastRow & ",AB2:AB" & LastRow).Select


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. کمک در مورد ایجاد بانک اطلاعاتی
    توسط sm3691 در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 0
    آخرين نوشته: 2017/08/02, 18:48
  2. [حل شده] جستجوی قسمتی از دو واژه در دو ستون (قسمتی از هر واژه در یك ستون)
    توسط ظهور 313 در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 2
    آخرين نوشته: 2017/02/05, 13:08
  3. حذف قسمتی از متن با فرمول
    توسط ali719 در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 1
    آخرين نوشته: 2014/09/29, 19:26
  4. ایجاد یک بانک اطلاعاتی و گرفتن یک خروجی بر اساس بعضی از پارامترها
    توسط taknavaz123 در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 6
    آخرين نوشته: 2014/09/29, 10:40
  5. مابه التفاوت دریافتی و پرداختی
    توسط Nima در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 7
    آخرين نوشته: 2012/06/14, 10:42

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

انجمن اكسل ايران , اكسل , اكسس , سوال و جواب اكسل , سوال اكسس , انجمن اكسل ايران , توابع اكسل, آموزش اكسل, آموزش اكسس, VBA, ويژوال بيسيك

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است
با ما در تماس باشيد