حذف همه مقاديري كه به متغيرها نسبت داده شده

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • alisabet

    • 2011/09/08
    • 159
    • 45.00

    حذف همه مقاديري كه به متغيرها نسبت داده شده

    سلام

    چگونه ميتوان همه مقاديري را كه به متغيرها نسبت داده شده را بصورت يكجا پاك كرد

    مشكل از از اينجا ناشي ميشود كه در يك ماژول حدود 30 متغير تعريف كرده ام كه پس از مدتي باعث كند شدن اجراي ماكرو ميگردد در اين موقع اگر شيت را سيو كنم و صفحه را بسته و مجددا اجرا كنم تا چند بار اجراي ماكرو سرعت خوب است و مرحله به مرحله سرعت برنامه كم ميشود و به ناچار دوباره بايد شيت را سيو كنم و آن را بسته و مجددا اجرا كنم احتمال ميدهم اين بخاطر تعداد زياد متغيرها باشد كه در حافظه لود ميشود سوال از اساتيد گرامي اينست كة آيا بدون بستن و بازكردن شيت ميتوان بر اين مشكل فائق شد ؟
  • iranweld

    • 2015/03/29
    • 3341

    #2
    با سلام
    برای جلوگیری از کاهش سرعت در حین اجرا ماکروها، این کد ها را در ابتدا و انتهای ماکروهای خود بکار بگیرید

    در اول ماکرو

    Application.Calculation = xlCalculationManual

    Application.ScreenUpdating = False

    کد ماکرو شما در اینجا

    این کدها در انتهای ماکرو شما

    Application.Calculation = xlCalculationAutomatic

    Application.ScreenUpdating = True


    نوشته منبع خارجی:
    Disable Sheet Screen Updating

    You may notice that when your macros run, your screen does a fair amount of flickering. This flickering is Excel trying to redraw the screen in order to show the current state the worksheet is in. Unfortunately, each time Excel redraws the screen, it takes up memory resources. In most cases, you don't need Excel using up resources to redraw the screen each time your macro performs some action. In addition to setting the calculation mode to manual, you can use the Application.ScreenUpdating property to disable any screen updates until your macro has completed. This saves time and resources, allowing your macro to run a little faster. Once you macro code is done running, you can turn screen updating back on.
    Application.Calculation = xlCalculationManual

    Application.ScreenUpdating = False

    'Place your macro code here

    Application.Calculation = xlCalculationAutomatic

    Application.ScreenUpdating = True
    Last edited by iranweld; 2015/06/18, 15:21.

    کامنت

    • alisabet

      • 2011/09/08
      • 159
      • 45.00

      #3
      این کدها هم تاثیر دارند اما منظور من دستوری بود که مقادیری که در حافظه نرم افزار لود شده اند را تخلیه کند مثل حالتی شیت را بسته و دوباره اجرا میکنیم

      کامنت

      • alisabet

        • 2011/09/08
        • 159
        • 45.00

        #4
        تو سایت های خارجی که دنبال همین موضوع میگشتم به این کد برخوردم خوهش میکنم اساتید محترم توضیح بدن این کد چی میگه
        کد PHP:
        CurrentRow VbNullString 

        کامنت

        چند لحظه..