با نام و یاد خداوند بخشنده و مهربان، در این مقاله آموزشی قصد داریم به شما نحوه ساخت تابع برای محاسبه مالیات حقوق در اکسل را آموزش دهیم. البته سابق پیرامون فرمول نویسی مالیات حقوق سال ۱۳۹۹ در اکسل مفصل صحبت نمودیم که پیشنهاد می گردد قبل از مطالعه این مقاله آموزشی جهت درک بهتر، مجدد آن را مطالعه نمایید. همچنین جهت آشنایی با نحوه تابع نویسی در اکسل پیشنهاد می گردد مقاله مربوطه را یکبار مطالعه نمایید.
تعریف تابع مالیات حقوق در VBA اکسل
در قدم اول می بایست ساختار تابع مالیات حقوق را به زبان برنامه نویسی VBA تعریف نماییم. این ساختار به شکل زیر می باشد:

توضیحات ساختار فوق:
- تابعی به نام S_Tax تعریف نمودیم که کوتاه شده عبارت مالیات حقوق می باشد.
- آرگومانی با عنوان S_TaxAble برای تابع مذکور تعریف نمودیم که کوتاه شده عبارت درآمد مشمول مالیات می باشد.
توجه فرمایید، آرگومان S_TabAble به عنوان ورودی تابع S_Tax از نوع Double لحاظ گردید زیرا ممکن است ورودی این تابع دارای اعداد و ارقام اعشاری باشد. در غیراینصورت می توانید آن را از نوع Long نیز تعریف نمایید.
حال با توجه به اینکه محاسبه مالیات حقوق بصورت طبقاتی در اکسل صورت می گیرد، لذا نیاز به دستور شرطی Select Case جهت بررسی طبقات مختلف خواهیم داشت:

البته شاید برای شما سوال باشد که چرا از دستور شرطی if به جای دستور شرطی Select Case استفاده ننمودیم! در جواب این سوال باید گفت که دستور شرطی Select Case انعطاف بیشتری نسبت به دستور شرطی if در وی بی ای اکسل دارد. از این رو بهترین گزینه در تعریف این تابع، دستور Select Case می باشد.
حال نیاز به تعریف شروط هریک از طبقات محاسبه مالیات حقوق داریم. در طبقه اول اگر درآمد مشمول مالیات حقوق عددی بین 0 تا 30.000.000 ریال بود مشمول مالیات نخواهد شد:

در طبقه دوم اگر درآمد مشمول مالیات عددی بین 30.000.000 تا 750.000.000 ریال بود، مشمول 10درصد مالیات شود:

در طبقه سوم اگر درآمد مشمول مالیات عددی بین 750.000.000 تا 105.000.000 ریال بود، مشمول 15درصد مالیات شود:

در طبقه چهارم اگر درآمد مشمول مالیات بین 105.000.000 تا 150.000.000 ریال بود، مشمول 20 درصد مالیات شود:

در پایان اگر درآمد مشمول مالیات بیش از 150.000.000 ریال بود، مشمول 25درصد مالیات شود:

بخش کدنویسی تابع محاسبه مالیات حقوق به اتمام رسید. در ادامه کدهای تابع جدید را مشاهده خواهید نمود:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Function S_Tax(S_TaxAble As Double) Select Case S_TaxAble Case 0 To 30000000 S_Tax = 0 Case 30000001 To 75000000 S_Tax = (S_TaxAble - 30000000) * 0.1 Case 75000001 To 105000000 S_Tax = (45000000 * 0.1) + (S_TaxAble - 7500000) * 0.15 Case 105000001 To 150000000 S_Tax = (45000000 * 0.1) + (30000000 * 0.15) + (S_TaxAble - 105000000) * 0.2 Case Is > 150000000 S_Tax = (45000000 * 0.1) + (30000000 * 0.15) + (45000000 * 0.2) + (S_TaxAble - 150000000) * 0.25 End Select End Function |
استفاده از توابع تعریف شده در اکسل
حال که کار نوشتن تابع جدید در اکسل به پایان رسیده است، برای استفاده از آن تنها کافی است عنوان آن را همانند سایر توسط در اکسل جستجو نمایید. مشاهده خواهید نمود که این تابع به سایر توابع اکسل اضافه گردیده است:

با درج درآمد مشمول مالیات، میزان مالیات حقوق را مشاهده خواهید نمود:

البته به منظور درج مبلغ درآمد مشمول مالیات حتما نیاز به درج دستی آن نیست، می توانید به سلولی جهت دریافت این مقدار اشاره نمایید:

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