كيفية حساب قيم الخلايا في vba؟
بشكل افتراضي في Excel، عندما تقوم بتغيير قيمة خلية، يقوم Excel بإعادة حساب كافة الخلايا التي تعتمد عملية حسابية على تلك الخلية. ولكن عند استخدام VBA، يكون لديك خيار تغييره إلى يدوي، كما نفعل في Excel.
باستخدام طريقة الحساب VBA
يمكنك تغيير الحساب إلى يدوي قبل البدء بأي كود، على النحو التالي.
Application.Calculation = xlManual
عند تشغيل هذا الرمز فإنه يغير الحساب إلى يدوي.
وفي نهاية الكود يمكنك استخدام السطر التالي من الكود للتبديل إلى الوضع التلقائي.
Application.Calculation = xlAutomatic
يمكنك استخدام الحساب بالطريقة التالية.
Sub myMacro() Application.Calculation = xlManual 'your code goes here Application.Calculation = xlAutomatic End Sub
احسب الآن (جميع المصنفات المفتوحة)
إذا كنت تريد فقط إعادة حساب جميع المصنفات المفتوحة ، فيمكنك استخدام طريقة “الحساب” على النحو التالي.
Calculate
استخدم طريقة الحساب للورقة
بالطريقة التالية، يمكنك إعادة حساب كافة الحسابات للجميع
ActiveSheet.Calculate Sheets("Sheet1").Calculate
يقوم السطر الأول من التعليمات البرمجية بإعادة حساب الورقة النشطة ويقوم السطر الثاني بذلك من أجل “الورقة1” ولكن يمكنك تغيير الورقة إذا أردت.
إجراء حساب لنطاق أو خلية واحدة
وبالمثل، يمكنك إعادة حساب كافة العمليات الحسابية لنطاق معين أو خلية واحدة على النحو التالي.
Sheets("Sheet1").Range("A1:A10").Calculate Sheets("Sheet1").Range("A1").Calculate