سبد خرید
0

محصولی در سبد خرید نیست.

بازگشت به فروشگاه

صدور فیش حقوقی در اکسل

۳/۵ - (۸ امتیاز)

فراخوانی اطلاعات و ایجاد فیش حقوقی

صدور فیش حقوقی یکی از پرکارتکرار ترین مسائل اکسلی هست. خیلی وقت ها افراد برای مجموعه خودشون میخوان فیش حقوقی مطابق با خواسته خودشون طراحی کنن. برای این کار هم نمیخوان از نرم افزارهای آماده استفاده کنن. طراحی یک فیش حقوقی با ویژگی ها و جزئیات دلخواه، براحتی در اکسل امکان پذیر هست. از این روش برای طراحی فاکتورها، فرم ها و … میشه استفاده کرد.
در این آموزش نحوه فرمول نویسی در فرم برای صدور فیش برای افراد مختلف و پرینت این فرم ها رو یاد میگیریم.

فرض کنید دیتابیسی مطابق شکل ۱ داریم که شامل اطلاعات حقوق افراد مختلف (میزان حقوق، مالیات ،بیمه و …) است.

نکته:
برای حل این مسئله از Mail Merge هم میشه استفاده کرد که میتونید در مقاله مربوطه مطالعه کنید
دیتابیس داده های حقوق

شکل ۱ – دیتابیس داده های حقوق

 حالا میخواهیم فیش حقوقی مطابق شکل ۲ داشته باشیم که با انتخاب کد ملی هر نفر، اطلاعات مربوطه را در جای خودش ثبت کنه.

فرم خام طراحی شده برای فیش حقوقی

شکل ۲- فرم خام طراحی شده برای فیش حقوقی

حالا میخواهیم در سلول I3 هر کد ملی که وارد کردیم، اطلاعات مربوطه از شیت دیتابیس در قسمت مناسب جایگذاری بشه. برای این کار از تابع Vlookup و ترکیبش با Match استفاده میکنیم. در این صورت تابع جلوی هر سلولی قرار بگیره، مقدار مربوطه با اون سلول رو از شیت دیتابیس فراخوانی میکنه.

نکته:
دقت داشته باشید که عناوین موجود در فیش حقوقی حتما باید با سرستون های دیتابیس عینا مشابه باشند در غیر اینصورت تابع Match خروجی صحیحی نخواهد داشت.

 

VLOOKUP($I$۳,’حقوق و دستمزد’!$A$۱:$L$۱۵,MATCH(فیش!J4,’حقوق و دستمزد’!$A$۱:$L$۱,۰),۰)

در این فرمول، سلول I3 در دیتابیس جستجو میشه و وقتی پیدا شد، داده ی مربوطه در شماره ستون مورد نظر (خروجی تابع Match ) رو بر میگردونه.

در انتها و در قسمت خالص دریافتی به حروف هم از افزونه ABH استفاده شده که مقدار خالص دریافتی رو به حروف تبدیل میکنه و برای اینکه عدد نهایی ،اعشار نداشته باشه که وقتی به حروف تبدیل میشه خیلی طولانی نشه، نتیجه نهایی رو با تابع Roundup گرد کردیم.

در مورد گرد کردن حتما مقاله مربوط به گرد کردن اعداد رو مطالعه کنید.

نکته:
گاهی اوقات مقداری که فراخوانی میشه از پهنای سلول بزرگتره و در سلول جا نمیشه و نیاز به تغییر اندازه فونت یا پهنای سلول وجود داره. برای اینکه این مشکل رو حل کنیم همه سلول های حاوی فرمول (که متغیر هستن) رو روی Shrink to fit تنظیم میکنیم. به این ترتیب دیگه مشکلی از این لحاظ نخواهیم داشت و در صورت نیاز، فونت سلول کوچک میشه و نیازی به تغییر دستی این اندازه ها نیست. ویدئو زیر نحوه کار رو تشریح میکنه.

 

پرینت فیش

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

برای این کار از کدنویسی VBA استفاده میکنیم. و حلقه For که بره و توی ستون کد ملی تک تک سلول ها رو بیاره، جایگزین کنه و شیت رو به PDF تبدیل و در یک فولدر با نام خودش ذخیره کنه.

کد زیر رو در یک ماژول کپی و اجرا میکنیم.

Sub Print_to_File()
Dim File_Address As String, Folder_Address As String
Dim Persons_Numbers As Integer
Dim ICounter As Integer
Persons_Numbers = WorksheetFunction.CountA(Sheet1.Range("A:A")) - 1
Folder_Address = "C:\Users\ExcelPedia\Desktop\Prints\ "
For ICounter = 1 To Persons_Numbers
    Sheet2.Range("I3") = Sheet1.Range("A1").Offset(ICounter, 0)
    File_Address = Folder_Address & Sheet2.Range("I3") & ".pdf"
    Sheet2.ExportAsFixedFormat Type:=xlTypePDF, Filename:=File_Address
Next ICounter
End Sub

دقت داشته باشید در کد نوشته شده، مسیر ذخیره رو مطابق با سیستم خودتون تغییر بدید.

Folder_Address = “C:\Users\ExcelPedia\Desktop\Prints\

در واقع متغیر Folder_Address متغیری هست که مسیر ذخیره فولدری که قراره فایل های PDF در اون ذخیره بشن رو تعیین میکنه. پس با همین الگو، قسمت قرمز رنگ رو مطابق با سیستم و فولدر خودتون تغییر بدید.

ویدئو زیر برای تشریح نحوه کدنویسی ارائه شده.

جهت دیدن جزئیات بیشتر و استفاده از فایل نهایی، فایل زیر رو دانلود کنید و آموزشها رو از روی اون مجدد مطالعه کنید.

دانلود فایل نمونه این آموزش

جهت دانلود این فایل روی دکمه زیر کلیک کنید:

134

من سامان چراغی هستم. دانش آموخته مقطع فوق لیسانس دانشگاه تربیت مدرس در رشته مهندسی صنایع. از سال 1388 اکسل و برنامه نویسی VBA رو به صورت حرفه ای شروع کردم.

دیدگاه کاربران
  • علی اکبر کاظمی ۸ خرداد ۱۴۰۴ / ۱۱:۳۷ ق٫ظ

    سلام و عرض ادب
    چرا پرینت تا ردیف ۱۴ میگیرد ؟

    • آواتار
      حسنا خاکزاد ۹ خرداد ۱۴۰۴ / ۱۲:۴۴ ب٫ظ

      درود بر شما
      تنظیمات پرینت رو هر طور دوست دارید میتونید تغییر بدید

  • زهرا ۱۴ آبان ۱۴۰۳ / ۱۰:۰۹ ب٫ظ

    سلام آیتم دوره اکسل شامل چیا هستن؟

    • آواتار
      حسنا خاکزاد ۱۵ آبان ۱۴۰۳ / ۹:۳۵ ق٫ظ

      درود بر شما
      کدوم دوره ها؟
      دوره مقدماتی
      پیشرفته؟
      با پشتیبانی تماس بگیرید در خدمتتون هستیم
      ۰۲۱-۴۷۶۲۵۷۵۵

  • زهرا عسگریان ۱۴ آبان ۱۴۰۳ / ۹:۴۷ ب٫ظ

    دوره اکسلتون شامل چه آیتم هایی میشه؟

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

توسط
تومان