آموزش رایگان ساخت Userform در اکسل

آموزش رایگان ساخت Userform در اکسل(3)

وبسایت آموزشی اکسل

در قسمت های اول و دوم طراحی و کدنویسی فرم در اکسل ما یاد گرفتیم که چگونه یک یوزرفرم(Userform) طراحی و اطلاعات آن را توسط کدهای وی بی ای(VBA) به سلول های صفحه گسترده جهت ثبت و ذخیره ارسال کنیم.

در قسمت سوم آموزش رایگان ساخت فرم در اکسل شما با نحوه استفاده و کاربرد لیست باکس(Listbox) در یوزرفرم ها آشنا خواهید شد لذا خواهشمندیم تا پایان این پست آموزشی مارا همراهی کنید و نظرات خوب خود را برای ما در قسمت نظرات ارسال کنید.

کاربرد لیست باکس (Listbox) در یوزرفرم چیست؟

در قسمت دوم آموزش رایگان ساخت فرم در اکسل به این سوال پاسخ داده شد. به تصویر زیر دقت کنید:

کاربرد لیست باکس (Listbox) در یوزرفرم چیست؟
کاربرد لیست باکس (Listbox) در یوزرفرم چیست؟

لیست باکس در یوزرفرم های وی بی ای نقش دیتابیس(DataBase) در نرم افزارها را ایفا می کند که حال می تواند نمایی از داده های ثبت شده و یا قدرت انتخاب به منظور اعمال تغییرات داده های ثبت شده را به کاربران دهد.

به منظور اضافه کردن محتوا به Listbox از دستورات زیر استفاده می کنیم:

در دستورات فوق، ما ابتدا با خطاب قرار دادن Listbox شماره 1 ابتدا تعریف نمودیم که دارای سرتیتر می باشد و در ادامه تعداد ستون های این لیست باکس را برابر با 4 تعیین نمودیم و در پایان نیز توسط RowSource اقدام به تعریف محدوده داده های این لیست باکس نمودیم.

اضافه نمودن لیست باکس(Listbox) به یوزرفرم

با توجه به مطالبی که در قسمت فوق ارائه شد، نیاز داریم تا کمی فرم خودمان را برای درج لیست باکس تغییر دهیم تا فرم شکیل و زیباتری داشته باشیم. بدین منظور یوزرفرم خود را مطابق با تصویر زیر تغییر می دهیم:

اضافه نمودن لیست باکس(Listbox) به یوزرفرم
اضافه نمودن لیست باکس(Listbox) به یوزرفرم

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

اضافه نمودن لیست باکس(Listbox) به یوزرفرم
اضافه نمودن لیست باکس(Listbox) به یوزرفرم

اضافه نمودن لیست باکس(Listbox) تا به اینجا به اتمام رسید حال در ادامه نحوه کدنویسی آن را باهم بررسی خواهیم نمود.

کدنویسی لیست باکس(Listbox) در یوزرفرم

به منظور مقداردهی اولیه لیست باکس نیاز داریم تا در بخش UserForm_Initialize کدنویسی مربوطه را همانند تصویر زیر انجام دهیم:

کدنویسی لیست باکس(Listbox) در یوزرفرم
کدنویسی لیست باکس(Listbox) در یوزرفرم

در ادامه کدهای وی بی ای این بخش را بصورت مجزا برای شما قرار دادیم:

از آنجاییکه جدول داده های ما دارای سرتیتر است لذا مقدار ColumnHeads را برابر با True و تعداد ستون های آن را برابر با عدد 4 قرار دادیم(A:D) و در پایان توسط Rowsource اقدام به مقدار دهی این لیست باکس نمودیم.

خروجی شما با اجرای فرم بصورت زیر خواهد بود:

کدنویسی لیست باکس(Listbox) در یوزرفرم
کدنویسی لیست باکس(Listbox) در یوزرفرم

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

کدنویسی لیست باکس(Listbox) در یوزرفرم
کدنویسی لیست باکس(Listbox) در یوزرفرم

در ادامه کدهای این باتن را به صورت مجزا مشاهده خواهید نمود:

در دستورات فوق، ما توسط Unload Me یوزرفرم فعال را Unload و توسط UserForm1.Show آن را مجدد نمایش دادیم که این عمل برای بروزرسانی لیست باکس پس از درج رکورد جدید الزامی است. حال اگر اقدام به درج رکورد جدید و ثبت آن کنید مشاهده خواهید نمود که داده های لیست باکس(Listbox) نیز بصورت اتوماتیک بروزرسانی خواهد شد.

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

سایر مطالب مرتبط با طراحی و کدنویسی یوزرفرم در اکسل