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

موضوع: کند شدن پردازش با دستور: Worksheet_SelectionChange

  1. #1


    آخرین بازدید
    2024/01/21
    تاریخ عضویت
    November 2013
    محل سکونت
    تهران
    نوشته ها
    1,519
    امتیاز
    6121
    سپاس
    2,884
    سپاس شده
    4,889 در 1,381 پست
    سطح اکسل
    71.67 %

    کند شدن پردازش با دستور: Worksheet_SelectionChange

    با عرض سلام و تشکر از زحمات دوستان،
    من کدي در يک شيت نوشته ام که يک کامند بوتن فقط در هنگام انتخاب ده يازده سل خاص نمايان شود و در غير اين صورت مخفي گردد.
    با توجه به اينکه کد تحت عنوان Worksheet_SelectionChange نوشته شده برداشت من اين است که با هر بار جابجايي بين خانه ها در شيت مربوطه اين کد جهت بررسي درست يا غلط بودن خود يک بار اجرا مي گردد.
    مي خواستم بدانم در صورتي که برداشت من صحيح است، آيا مي توان کد را به گونه اي نوشت که از اين حجم محاسبات و اشغال حافظه کاست؟
    اين هم کد:
    کد PHP:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     If 
    ActiveCell.Row And ActiveCell.Column 16 And ActiveCell.Column 30 Then
        CommandButton1
    .Visible True
        
    Else
        
    CommandButton1.Visible False
        End 
    If
    End Sub 
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.

  2. سپاس ها (2)


  3.  

  4. #2


    آخرین بازدید
    2022/12/05
    تاریخ عضویت
    October 2011
    محل سکونت
    مشهد
    نوشته ها
    4,374
    امتیاز
    12614
    سپاس
    4,596
    سپاس شده
    11,990 در 3,203 پست
    سطح اکسل
    70.00 %

    اگر رویدادی جز این رویداد نمیشه استفاده کرد با استفاده از گزاره زیر سرعت رو میشه بهبود داد
    کد HTML:
    application.ScreenUpdating=False



  5. سپاس ها (2)


  6. #3


    آخرین بازدید
    2024/01/21
    تاریخ عضویت
    November 2013
    محل سکونت
    تهران
    نوشته ها
    1,519
    امتیاز
    6121
    سپاس
    2,884
    سپاس شده
    4,889 در 1,381 پست
    سطح اکسل
    71.67 %

    ممنونم،
    مشکل اصلي ام همين است که اصولا" از رويداد ديگري مي شود استفاده کرد يا نه؟ مثلا" رويدادي که به جاي بررسي change شدن انتخاب در کل شيت، فقط change شدن انتخاب مثلا" در سطر سوم را بررسي کند!
    نمي دانم! شايد انتظار غير معقولي باشد!

  7. سپاس ها (1)


  8. #4


    آخرین بازدید
    2022/12/05
    تاریخ عضویت
    October 2011
    محل سکونت
    مشهد
    نوشته ها
    4,374
    امتیاز
    12614
    سپاس
    4,596
    سپاس شده
    11,990 در 3,203 پست
    سطح اکسل
    70.00 %

    نقل قول نوشته اصلی توسط علي پارسا نمایش پست ها
    ممنونم،
    مشکل اصلي ام همين است که اصولا" از رويداد ديگري مي شود استفاده کرد يا نه؟ مثلا" رويدادي که به جاي بررسي change شدن انتخاب در کل شيت، فقط change شدن انتخاب مثلا" در سطر سوم را بررسي کند!
    نمي دانم! شايد انتظار غير معقولي باشد!
    اگه اشتباه نکنم برای اون فایل شجره نامه این کد نوشته شده ، رویدادی جز این رویداد نمیشه بکار برد تنها را افزایش سرعت اینه که حتی الامکان از ایجاد غیرضروری در سلول ها پرهیز بشه و جلوه ها بصری حین اجرای کد غیر فعال بشه



  9. سپاس ها (2)


  10. #5


    آخرین بازدید
    2024/01/21
    تاریخ عضویت
    November 2013
    محل سکونت
    تهران
    نوشته ها
    1,519
    امتیاز
    6121
    سپاس
    2,884
    سپاس شده
    4,889 در 1,381 پست
    سطح اکسل
    71.67 %

    کد را براي فايل دفترچه تلفن (که تو قسمت تشکرها بهش اشاره کرده بودم) نوشته ام، خيلي ممنون از راهنماييتون.

  11. #6


    آخرین بازدید
    2022/12/05
    تاریخ عضویت
    October 2011
    محل سکونت
    مشهد
    نوشته ها
    4,374
    امتیاز
    12614
    سپاس
    4,596
    سپاس شده
    11,990 در 3,203 پست
    سطح اکسل
    70.00 %

    نقل قول نوشته اصلی توسط علي پارسا نمایش پست ها
    کد را براي فايل دفترچه تلفن (که تو قسمت تشکرها بهش اشاره کرده بودم) نوشته ام، خيلي ممنون از راهنماييتون.
    خب پس باید دید این ظاهر شدن و مخفی شدن کامند باتن رو برای چه کاری لازم داری تا بشه دنبال راه جایگزین گشت



  12. #7


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

    با درود
    اقا از کد زیر استفاده کن ببین مشکلت حل میشه
    کد:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("p3:Ab3")) Is Nothing Then
    CommandButton1.Visible = True
    Else
    CommandButton1.Visible = False
    End If
    End Sub
    واسه SELECTION CHANGE حالا شما واسه CHANGE هم همینو میتونی بنویسی که تو هر دو موقعیت عمل کنه .. بعدشم چرا مسئله رو اینهمه پیچیده اش کردی . در واقه از ستون P تا Ab ردیف سوم نیاز به این همه If نداشت .
    دکمه رو هم یادت نره اول بزاری تو صفحه و بعدشم visible اش رو بزار رو False تست کن
    در پناه خداوندگار ایران زمین باشید و پیروز

  13. سپاس ها (3)



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

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

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

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

  1. دستور حلقه جهت پاک کردن سلول
    توسط khorasan66 در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 9
    آخرين نوشته: 2013/12/18, 20:52
  2. [حل شده] ترکیب دستورات در فرمت سل سلول
    توسط maziardm در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 20
    آخرين نوشته: 2013/12/05, 21:20
  3. ساختار صحیح دستورات شرطی در vb
    توسط امیر رضا دهقان در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 1
    آخرين نوشته: 2013/01/05, 09:40
  4. حذف ردیف با دستور
    توسط khorasan66 در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 4
    آخرين نوشته: 2013/01/03, 16:39
  5. دستور پرينت
    توسط sohrabahmadi در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 2
    آخرين نوشته: 2012/11/30, 08:57

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

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

کلمات کلیدی این موضوع

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

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

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