تغییر نحوه محاسبه از خودکار به دستی فقط برای شیت مشخص

اگر شما هم در محیط کار با فایل های اکسل پیچیده و سنگین کار میکنید که شامل تعداد زیادی شیت پر از فرمول های طولانی و سنگین هست شاید براتون پیش اومده باشه که به تدریج و با بالا رفتن حجم دیتا، فایل اکسلتون کند بشه. گاهی پیش میاد که این کندی فایل مربوط به محاسبات سنگین یکی از شیت ها هست. از طرفی همیشه ممکنه نیاز نباشه که محاسبات اون شیت به صورت لحظه ای انجام بشه و ممکنه بشه تنها یک بار پس از آپدیت کردن داده های اکسل محاسبات اون شیت رو انجام داد و در ادامه کار با فایل نیازی به آپدیت محاسبات اون شیت نباشه. بعضی وقتا هم ممکنه فایلمون سنگین شده باشه و دقیقا ندونیم که محاسبات کدوم شیت باعث کندی فایلمون شده. اینطور وقتا میشه تنها محاسبات اون شیت رو به صورت دستی در آورد. برای فهمیدن روش اینکار در ادامه این مطلب آموزشی اکسل همراه من باشید.

همونطور که میدونید در اکسل از طریق تب Formulas و گزینه Calculation Options میشه نحوه محاسبات رو به صورت دستی درآورد اما مشکل اینجاست که با اینکار تمام شیت ها به حالت محاسبات دستی تغییر پیدا میکنند. حالا اگر بخوایم تنها یک شیت اکسل رو به حالت محاسبه دستی تغییر بدیم و نحوه محاسبه در بقیه شیت ها اتوماتیک باشه کافیه به روش زیر عمل کنیم:

ابتدا مثل تصویر زیر روی شیت مدنظر راست کلیک میکنیم و از منویی که باز میشه گزینه View Code رو انتخاب میکنیم

تاریخ شمسی در اکسل

با اینکار وارد پنجره Visual Basic Editor میشیم. حالا مثل تصویر زیر در قسمت چپ گزینه EnableCalculation رو پیدا میکنیم و مقدار اون رو برابر با False قرار میدیم:

محاسبه دستی شیت

با اینکار فقط شیت مدنظر ما بصورت محاسبه دستی در میاد و بقیه شیت ها بصورت محاسبه خودکار باقی میمونند. حالا کافیه که هر بار که نیاز به آپدیت شدن محاسبات شیت داشتیم از تب Formulas گزینه Calculate Sheet رو انتخاب کنیم. برای برگردوندن نحوه محاسبات شیت به حالت اتوماتیک هم کافیه دوباره گزینه EnableCalculation رو به مقدار True تغییر بدیم.

16 thoughts on “تغییر نحوه محاسبه از خودکار به دستی فقط برای شیت مشخص”

  1. محمدرضایحیایی

    سلام.بسیار عالی.سپاس فراوان
    مشتاقانه منتظر آموزشهای دیگر شما هستم.لطفا بیشتر عنایت بفرمایید

  2. جهانگیر آذربان

    سلام دوستان عزیز
    یه سوال داشتم
    من یه برنامه ای رو تو VBAرو از اینترنت پیدا کردم که به طور خودکار شیت تولید میکنه
    فقط میخواستم به این یه قسمت اضافه کنم که بتونه از شیت اول یه چیز مشخص و تو همه شیت ها کپی کنه اگه میشه راهنماییم کنین
    این هم همون کد هستش
    Sub addsheet()
    For i = 2 To 20
    Dim newsheet
    Set newsheet = Sheets.Add(After:=Sheets(Worksheets.Count), Count:=1, Type:=xlWorksheet)
    Sheets(“sheet1”).Select
    (newsheet.Name = Cells(i, 1
    Next i
    End Sub

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

  4. محمد یعقوبی

    ضمن عرض سلام و خسته نباشید و تشکر از مطالب بسیار مفیدتون ، من توی اکثر فایلهام با مشکل کندی سرعت بعلت بالا بودن میزان محاسبات تو شیتهای مختلف مواجه بودم و مشاهده مطلب بالا ( دستی کردن محاسبات در شیتهای خاص ) خیلی خوشحالم کرد و تشکر میکنم . اما مشکلی که دارم این اصلاحات ذخیره نمیشه و فایل رو که ذخیره میکنم و دو باره باز میکنم به حالت اول بر میگرده لطفا راهنماییم کنید .

  5. سلام و عرض ادب
    آقا اینكه ذخیره نمیشه. یعنی بعد از هر بار خروج از فایل، دوباره باید تنظیمش كنی. اینجوری كه فایده نداره

  6. سلام
    با عرض خسته نباشید
    حقیقتش من درس متوجه این متن نشدم
    در واقع من میخواهم کارهایی که تو یه شیت انجام دادم برای شیت های دیگه عینا تکرار بشه(چون حجم محاسباتم به نسبت بالاس نمیخوام این کارو مدام خودم تکرار کنم)

  7. م.عقاب نشین

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

  8. با سلام خدمت استاد عزیز آقا یاسین گل
    می خواستم بدونم چطور میشه رسم نمودار رو برای محدوده زمانی دلخواه یعنی با ورود زمان شروع و پایان انجام داد؟ نیاز به ماکرونویسی داره؟

  9. روشی هست که تو vba شماره سطری که تو جداول اکسل در حال نوشتن اون هستیم تشخیص بدیم؟
    کاری که میخوام در واقع انجام بدم بدون اینکه فرمول تو کل ستون تا انتها کپی کنم هر بار که کاربر میره خط بعدی اطلاعات اضافه کنه فرمول ها تو سطر جدید هم قرار بگیره

  10. سلام و ادب،
    آيا براي اين كاري كه آموزش داديد كد وي بي هم هست
    مثلا
    sheets(“sheet1”).enablecalcaute=false
    ؟؟؟؟

    1. یاسین اسماعیل پور

      سلام مصطفی جان
      بله میتونید از کد زیر استفاده کنید:
      Worksheets(1).EnableCalculation = False

  11. سلام.عالی بود
    یه سوال . آیا می توان پیغام بروز رسانی داده ها در فایل های ماکرو را طوری تنظیم کرد که بدون نمایش پیغام بروزرسانی و زدن گزینه ok را که به صورت دستی می زنیم . به طور کاملا خودکار وبدون نمایش پیغام انجام گیرد. با تشکر

    1. یاسین اسماعیل پور

      سلام. منظورتون رو از پیغام بروزرسانی داده ها متوجه نشدم. میشه یکم بیشتر توضیح بدید؟

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top