پرفروش ترين
برترين
آخرين محصولات فروشگاه
فایل الکترونیکی آموزش اکسل پیشرفته ۲۰۱۰
آموزش ایجاد فایل چندکاربره با سطح دسترسی مشخص
یوزرفرم پیشرفته -Advanced  User Form
داشبورد (مقدماتی) – Dashboards(Elementary)
ابزارهای اعتبار سنجی و اخطار دهنده
بسته آموزشی userform
مدیریت و کنترل خطا در اکسل
توابع متنی
گرافیک در اکسل
جزوه آموزشی جداول و نمودارهای پاشنه ای
فایل آموزشی نحوه تهیه فرمت عددی دلخواه یا custom number format cell
آموزش ایجاد فایل چندکاربره با سطح دسترسی مشخص
نمایش نتایج: از شماره 1 تا 8 , از مجموع 8

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

  1. #1


    آخرین بازدید
    6 روز پیش
    تاریخ عضویت
    October_2011
    محل سکونت
    Sheet1!A1
    نوشته ها
    4,149
    امتیاز
    11584
    سپاس
    4,476
    سپاس شده
    10,966 در 2,948 پست

    راه کار هایی جهت افزایش سرعت برنامه ها

    با سلام
    در اینجا قصد دارم راهکار هایی برای افزایش قابلیت و سرعت برنامه هایی که با VBA نوشته میشه ارائه بدم بعضی از این راه کار ها به صورت تجربی بدست آوردم بعضی هم از جاهای مختلف جمع اوری کردم سایر دوستان هم تو تکمیل این بحث کمک کنن چون به نظرم مبحث مهمیه

    برای افزایش سرعت برنامه هایی که از طریق VBA نوشته می شن روش هایی متفاوتی وجود داره مهمترین روش تکنیکی هست تو برنامه نویسی یک برنامه نویس استفاده میکنه که لازمه اون تجربه است اما خود اکسل و VBA امکاناتی برای افزایش سرعت در اختیار ما قرار میده.

    1-غیر فعال کردن برخی از خصوصیت ها حین اجرای ماکرو برای این کار کد های زیر را به ابتدا و انتهای برنامه بیافزایید.
    [align=left]
    کد PHP:
    Sub macro()
    Application.ScreenUpdating false
    Application
    .DisplayAlerts false
    Application
    .Calculation xlManual
    ……
    ..
    Application.ScreenUpdating true
    Application
    .DisplayAlerts true
    Application
    .Calculation xlAutomatic
    end sub 
    [/align]
    از کد های زیر نیز میتوان استفاده کرد:
    [align=left]
    کد PHP:
    Application.StatusBar false
    Application
    .PrintCommunication False 
    [/align]
    2-تا حد امکان از انتخاب کردن سل ها و محدوده ها خودداری کنید،بجای انتخاب کردن کپی کردن و paste کردن از تساوی استفاده کنید.
    [align=left]
    کد PHP:
    Range("A1").value 10 
    [/align]
    کد فوق از کد زیر سریعتر است.
    [align=left]
    کد PHP:
    Range("A1").select
    Selection
    .Value 10 
    [/align]
    3- تا حدی که می توانید از توابع و متد های زبان برنامه نویسی استفاده کنید و از کد نویسی برای نیاز های خود پرهیز کنید مثلا استفاده از کد زیر
    [align=left]
    کد PHP:
    A=Application.WorksheetFunction.Sum(Range("a1""a10"))
    بجای
    A
    =0
    For i=1 to 10
    A
    =cells(I,1)
    Next  i 
    [/align]
    - از ایجاد حلقه ها بخصوص حلقه های تودر تو اجتناب کنید ، برای حل یک مسئله ابتدا روش ها مختلف را بررسی کنید به عنوان مثلا برای جستجوی یک مقدار از توابع search,find,index,match,lookup,… استفاده کنید .
    5- اگر میخواهید عملیاتی بر روی یک محدوده اعمال کنید محدوده را نامگذاری کنید برای توسعه محدوده از فرمول offset استفاده کنید بجای اینکه محدوده بزرگی انتخاب کنید تا نیاز اینده را برطرف کند بلکه محدوده را به تدریج توسعه دهید.
    6-زمانی که میخواهید عملیات متفاوتی بر روی یک ابجکت اعمال کنید از with block استفاده کنید این کار علاوه بر نظم ظاهری در عمکرد کد هم موثر است.
    7-زمانی که میخواهید نیاز خود را از طریق کد نویسی در اکسل مرتفع کنید به جوانب مسئله خود فکر کنید و ان را به دو بخش تقسیم کنید 1- بخشی که لزوما باید کد نویسی کنید و 2-بخشی که از طریق ابزار های اکسل اعم از فرمول ها ، conditional formattingو addins های اکسل و... میتوان حل کرد بنا براین لزومی ندارد کل مسئله به صورت کد پیاده شود تلفیق کلیه امکانات در دسترس نتیجه بهتری میدهد
    8-در نوشتن فرمول ها از قواعد نامگذاری استفاده کنید و محدوده ها را با offset توسعه دهید
    9-قبل از شروع بکار ابتدا جستجویی در اینترنت داشته باشید معمولا کدهای آماده با عملکرد بالا را میتوانید بیابید این امر بر مهارت شما نیز خواهد افزود به شرط اینکه کد ها را بخوبی تحلیل کنید.
    10-برنامه خود را قبل از شروع به کد نویسی روی کاغذ پیاده کنید و طرح اولیه انرا ایجاد کنید سپس به قسمت های کوچک تقسیم کنید سعی نکنید یک پروسه را با یک کد طولانی انجام دهید بلکه برنامه را به توابع و رویه های کوچک تقسیم کنید.
    11- از کنترل خطاها یا error handing تا حد امکان استفاده نکنید مگر اینکه طیف وسیعی از افراد کاربر برنامه شما باشند در صورتی که خود شما کاربر برنامه هستید از حداقل کنترل خطا استفاده کنید البته میزان دقت خود شما در این روش مؤثر است.
    12-با استفاده از ctrl+end آخرین سل استفاده شده را یافته و در صورتی که نیاز ندارید انها را حذف کنید
    13-در صورتی که قصد ایجاد جدول و یا دیتابیس در اکسل دارید از table استفاده کنید.
    14-اطلاعات موجود را قبل از استفاده sort کنید.
    15- در هر خط برنامه میتوان از خلاقیت برای افزایش کارایی استفاده کرد به عنوان مثال نتیجه دو کد زیر یکسان است اما قابلیت کد دوم به مراتب بیشتر است.
    [align=left]
    کد PHP:
    1-
    If 
    x>1 then
    A
    =true
    Else
    A=false
    End 
    if
    2-
    A=x>
    [/align]
    -برای کاهش حجم میتوانید از فرمت xlsb بجای xlsmیا xlsx استفاده کنید در این حالت برنامه شما کم حجم تر خواهد بود.
    17-از عوامل مهم کاهش سرعت استفاده از منابع و لینک های خارجی است لذا از ایجاد لینک های غیر ضروری باید پرهیز شود.
    18-اگر فایل هایی با فرمت 2003 دارید و در حال حاضر از ورژن های 2007 به بالا استفاده می کنید آنها را به فرمت های جدید convert نمایید.
    19-استفاده از pivot table بر کارایی و سرعت برنامه شما نسبت به سایر روش ها خواهد افزود.


  2.  

  3. #2


    محصولات کاربر

    داشبورد (مقدماتی)
    جداول محوری - Pivot table
    کتاب آموزش جامع و پیشرفته اکسل 2010
    آخرین بازدید
    6 روز پیش
    تاریخ عضویت
    March_2010
    محل سکونت
    تهران
    نوشته ها
    2,053
    امتیاز
    4464
    سپاس
    2,518
    سپاس شده
    4,052 در 1,242 پست

    khakzad به Yahoo ارسال پیام

    RE: راه کار هایی جهت افزایش سرعت برنامه ها

    سلام
    خیلی خیلی ممنوننننن
    من این پست و ندیده بودم.
    جالب بود
    مرسی[hr]
    شماره 11 رو ی توضیح میدین که منظور چی هس؟
    و اینکه شماره 6 همون with معمولی هست؟یعنی بجای block اسم ابجکتمون و باید ینویسیم؟[hr]
    و اون اول، displayalert که false میکنیم، دقیقا چیا رو نشونمون نمیده؟؟؟؟؟[hr]
    اینم لطفا ی توضیح بدین:blush: مرسی
    کد:
    Application.StatusBar = LoopNum
    Application.PrintCommunication = False

  4. #3


    آخرین بازدید
    6 روز پیش
    تاریخ عضویت
    October_2011
    محل سکونت
    Sheet1!A1
    نوشته ها
    4,149
    امتیاز
    11584
    سپاس
    4,476
    سپاس شده
    10,966 در 2,948 پست

    RE: راه کار هایی جهت افزایش سرعت برنامه ها

    کنترل خطا یعنی مثلا یک تکت باکس دادرید یه شرط میذارن که اگه خالی بود پیغام خطا بده ، کد اول بخشی از یک کد کلی بوده که فک میکنم تو نوشتنش اشتباه کرده باشم چون باید مقدار اون هم false باشه که تصحیحش کردم، و کد دوم ارتباط بین pagesetup و پرینتر رو به صورت موقت قطع میکنه فقط باید ارزش اون رو در انتهای کد true کنیم

  5. #4


    محصولات کاربر

    داشبورد (مقدماتی)
    جداول محوری - Pivot table
    کتاب آموزش جامع و پیشرفته اکسل 2010
    آخرین بازدید
    6 روز پیش
    تاریخ عضویت
    March_2010
    محل سکونت
    تهران
    نوشته ها
    2,053
    امتیاز
    4464
    سپاس
    2,518
    سپاس شده
    4,052 در 1,242 پست

    khakzad به Yahoo ارسال پیام

    RE: راه کار هایی جهت افزایش سرعت برنامه ها

    ممنونم.شماره 6 و displayalert مال چی بود؟

  6. #5


    آخرین بازدید
    28 _ 03 _ 2015
    تاریخ عضویت
    March_2012
    نوشته ها
    118
    امتیاز
    87
    سپاس
    11
    سپاس شده
    80 در 31 پست

    RE: راه کار هایی جهت افزایش سرعت برنامه ها

    فرض کنید می خواهید یک سطر یا یک شیت را حذف کنید اکسل جهت اطمینان از شما می پرسه مطمئن هستید که میخواهید حذف کنید
    Application.DisplayAlerts = false
    باعث میشه که اکسل این سوال را از شما نپرسه

  7. #6


    آخرین بازدید
    22 _ 12 _ 2014
    تاریخ عضویت
    April_2012
    نوشته ها
    90
    امتیاز
    2
    سپاس
    5
    سپاس شده
    6 در 6 پست

    RE: راه کار هایی جهت افزایش سرعت برنامه ها

    برای دسترسی به اولین سطر خالی در یک شیت از چه کدی میشه استفاده کرد؟ فرض کنید میخویم به یک سلول (که در اولین سطر خالی قرار داره) مقدار بدیم ولی از دستور each استفاده نکنیم.

  8. #7


    آخرین بازدید
    تاریخ عضویت
    January_2014
    نوشته ها
    173
    امتیاز
    198
    سپاس
    41
    سپاس شده
    74 در 45 پست

    واقعا عالیه
    تشکرازاستادبزرگ

  9. #8


    آخرین بازدید
    20 _ 03 _ 2017
    تاریخ عضویت
    January_2013
    محل سکونت
    شیراز
    نوشته ها
    1,176
    امتیاز
    3079
    سپاس
    1,558
    سپاس شده
    3,013 در 757 پست

    با درود
    در مورد اولین سطر خالی شیت واسه مقدار دهی به ترفند ها هزار و یک شب شب 62 مراجه کنید در اونجا شما اخرین ردیف رو میتونی پیدا کنی کافی به اون متغیییر یه یک اظافه کنی درست میشه - در ضمن مثال ها در کد نویسی های متنوعی تو سایت برای این مورد هست . بیشتر دقت کنید
    در پناه خداوندگار ایران زمین باشید و پیروز

  10. سپاس ها (1)



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

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

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

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

  1. تبدیل ساعت کار یه حالت معمولی
    توسط master در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 10
    آخرين نوشته: 22 _ 11 _ 2016, 16:04
  2. جدا کردن اضافه کار از جمع ساعت کار
    توسط مجید در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 8
    آخرين نوشته: 07 _ 05 _ 2014, 10:51
  3. کمک در مورد ساخت نرم افزار ساعت ورود و خروج کارگران
    توسط morteza2006 در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 18
    آخرين نوشته: 04 _ 07 _ 2012, 13:20
  4. ساعت نموداري!
    توسط safaei.mehdi@mapnablade.com در انجمن گرافیک، نمودار و تنظیمات - Graphics, Charts and Settings
    پاسخ ها: 0
    آخرين نوشته: 18 _ 04 _ 2012, 15:09
  5. تبدیل ساعت محلی به utc
    توسط s_ehsany در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 5
    آخرين نوشته: 07 _ 06 _ 2011, 16:20

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

افزایش سرعت اکسس

افزایش سرعت دیتابیس اکسس

حل مشکل کاهش سرعت در اکسل

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

افزایش سرعت در اکسس

بالا بردن سرعت اکسس

روش سرعت اکسل

راه بالاتر رفتن سرعت اکسل

اکسل ویژوال بیسیک سرعت اول

مشکل پایین بودن سرعت اکسل2013

سرعت در كار

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

سرعت در اکسل کم است

افزایش سرعت سرچ اکسز

راهکارهای برنامه اکسس

دلیل سرعت پایین در اکسل

نرم افزار بالابردن سرعت اکسل

علت کند شدن سرعت صفحه excell 2003

دلایل کم شدن سرعت در اکسل

سرعت نرم افزار اکسس پایین

بالا بردن سرعت اکسل 2013

مشکل سرعت اکسل 2013

فرمول نویسی در اکسل و رفع مشکل سرعت

علت پایین بودن سرعت اکسل 2013

بالا بردن سرعت exceliran.com

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

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