وظيفة تقرير VBA لتقريب الأرقام في Excel
وظيفة Excel VBA RoundUp
على غرار وظيفة ورقة العمل حيث نقوم بتقريب الأرقام إلى أقرب الأعداد الصحيحة ، في VBA لدينا وظيفة RoundUp التي تقلل الفاصلة العشرية بالنسبة لنا ، وبناء الجملة لاستخدام وظيفة التقريب هو كما يلي التقريب (العدد ، عدد الأرقام بعد العشري) ) هاتان الوسيطتان في الوظيفة إلزامية.
عندما نتعامل مع الأرقام والحسابات ، نحصل على أعداد كسرية بعد العدد الصحيح وهو أمر شائع جدًا في الأعمال اليومية. لا نهتم عمومًا بالقيم العشرية لأنها لا تؤثر على النتيجة النهائية. في هذه المواقف ، نحتاج إلى تقريب الأعداد لأقرب رقم صحيح أو أقرب عدد صحيح. باستخدام وظيفة RoundUp ، يمكننا بالفعل تنفيذ هذه المهمة.
إذا كنت قد بحثت في VBA عن وظيفة RoundUp ، فلا بد أنك لم تجدها لأنها دالة في ورقة العمل. من أجل الوصول إلى وظيفة RoundUp ، نحتاج إلى استخدام فئة vba Worksheet Function.
قبل ذلك ، تذكر بناء جملة الدالة RoundUp.
أمثلة
يمكنك تنزيل قالب Excel VBA RoundUp هنا - قالب Excel VBA RoundUpلنقم بمهمة تقريب الرقم "288.5264". سنرى جميع الأرقام مع هذا المثال.
مثال # 1 - عندما تكون الوسيطة الثانية صفراً
انظر إلى رمز VBA أدناه.
رمز:
Sub RoundUp_Example1 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264، 0) MsgBox k End Sub
- عندما تقوم بتشغيل الكود أعلاه فإنه سيتم تحويل الرقم المقدم أي 288.5264 إلى أقرب رقم صحيح ، أي 289
مثال # 2 - عندما تكون الوسيطة الثانية هي 1
انظر إلى الكود أدناه لمعرفة ما يحدث عندما نمرر واحدة كوسيطة ثانية.
رمز:
Sub RoundUp_Example2 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264، 1) MsgBox k End Sub
- سيقوم هذا الرمز بتحويل الرقم المحدد إلى فاصلة عشرية واحدة ، أي 288.6
مثال # 3 - عندما تكون الوسيطة الثانية 2
انظر إلى الكود أدناه لمعرفة ما يحدث عندما نجتاز اثنين كمتغير ثانٍ.
رمز:
Sub RoundUp_Example3 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264، 2) MsgBox k End Sub
- سيقوم هذا الرمز بتحويل الرقم المحدد إلى نقطتين عشريتين ، أي 288.53
مثال # 4 - عندما تكون الوسيطة الثانية 3
انظر إلى الكود أدناه لمعرفة ما يحدث عندما نجتاز ثلاثة كوسيطة ثانية.
رمز:
Sub RoundUp_Example4 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264، 3) MsgBox k End Sub
- سيقوم هذا الرمز بتحويل الرقم المحدد إلى ثلاث علامات عشرية ، أي 288.527
مثال # 5 - عندما تكون الوسيطة الثانية هي -1
انظر إلى الكود أدناه لمعرفة ما يحدث عندما نمرر ناقص واحد كوسيطة ثانية.
رمز:
Sub RoundUp_Example5 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264، -1) MsgBox k End Sub
- سيقوم هذا الرمز بتحويل الرقم المحدد إلى أقرب عشرة ، أي 290.
مثال # 6 - عندما تكون الوسيطة الثانية -2
انظر إلى الكود أدناه لمعرفة ما يحدث عندما نمرر ناقص اثنين كوسيطة ثانية.
رمز:
Sub RoundUp_Example6 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264، -2) MsgBox k End Sub
- سيقوم هذا الرمز بتحويل الرقم المحدد إلى أقرب مائة أي 300.
مثال # 7 - عندما تكون الوسيطة الثانية -3
انظر إلى الكود أدناه لترى ما يحدث عندما نمرر ناقص ثلاثة كوسيطة ثانية.
رمز:
Sub RoundUp_Example7 () Dim k As Double k = WorksheetFunction.RoundUp (288.5264، -3) MsgBox k End Sub
- سيقوم هذا الرمز بتحويل الرقم إلى أقرب ألف ، أي 1000.
مثل هذا ، يمكننا استخدام الدالة ROUNDUP في VBA كجزء من فئة دالة ورقة العمل لتقريب الأرقام بناءً على الوسيطة الثانية المتوفرة.