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

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

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

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

ساخت فرم در vba اکسل

در ابتدا شما می بایست از طریق سربرگ Developer وارد محیط Visual Basic شوید البته اینکار از طریق کلیدمیانبر Alt + F11 نیز امکان پذیر است. در ادامه محیط VBE را مشاهده خواهید نمود:

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

حال با کلیک کردن برروی سربرگ Insert در محیط VBE اقدام به اضافه کردن یک Userform کنیم:

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

با استفاده از Textbox می توانیم فیلد ورود اطلاعات و با استفاده از Label می توانیم توضیحات مربوط به هر فیلد را ایجاد کنیم. در تصویر زیر شما Textbox و Label را مشاهده خواهید نمود:

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

با انتخاب Label و Textbox اقدام به طراحی یک فرم دلخواه در محیط Userform خواهیم نمود.

حال یک لیبل همانند تصویر زیر در محیط Userform ایجاد نمایید:

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

با انتخاب Label ایجاد شده، از پنجره Properties در بخش Caption اقدام به تغییر عنوان این Label خواهیم نمود:

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

دو Label دیگر با عناوین LastName و Age همانند تصویر زیر ایجاد خواهیم نمود:

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

بهتر است کمی فضای ایجاد شده Label را کمتر کنید تا فرم زیباتری از نظر شکل و شمایل داشته باشید. بدین منظور ابتدا تمامی لیبل های ایجاد شده را با نگاه داشتن Ctrl انتخاب و سپس همانند تصویر زیر اقدام به انتخاب گزینه Size to fit کنید:

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

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

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

همانطور که در تصویر فوق نیز مشاهده می کنید، فضای Label نسبت به قبل فضای کمتری را اشغال نمود.

حال نیاز است برای هر لیبل یک فیلد با استفاده از ابزار Textbox همانند تصویر زیر ایجاد نماییم:

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

کار طراحی فرم تقریبا تمام است، در پایان نیاز به یک دکمه (CommandButton) داریم که اطلاعات ثبت شده را به سلول های صفحه گسترده(دیتابیس) ارسال و عمل ذخیره کردن آن را انجام دهد. بدین منظور ابزار CommandButton را همانند تصویر زیر انتخاب و در یوزرفرم ایجاد می کنیم:

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

دکمه (CommandButton) را نیز همانند Label نام گذاری خواهیم کرد و عنوان آن را به Submit تغییر می دهیم:

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

کدنویسی فرم ورود اطلاعات در اکسل(vba)

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

رویه این بخش از طراحی و کدنویسی نرم افزار در دو مرحله به ترتیب زیر صورت می گیرد:

  1. انتقال داده های Userform به صفحه گسترده اکسل به منظور ذخیره سازی
  2. حذف داده های Userform به منظور آماده سازی و ورود مجدد اطلاعات

بدین منظور در محیط VBE برروی CommandButton ایجاد شده دابل کلیک کنید تا وارد محیط کدنویسی این دکمه که عهده دار عملیات های مذکور است، شوید:

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

حال به دستورات زیر در این CommandButton دقت کنید:

در کدهای فوق ما اشاره کردیم که مقدار Textbox1 در سلول A2 ، مقدار Textbox2 در سلول B2 و در پایان مقدار Textbox3 در سلول C2 درج گردد. با فرض اینکه دیتابیس ما بصورت زیر طراحی گردیده است:

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

با زدن کلید F5 به منظور اجرای یوزرفرم و با مقداردهی فیلدهای فرم همانند تصویر زیر:

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

هنگام کلیک کردن برروی باتن Submit اطلاعات در دیتابیس طراحی شده بصورت زیر ثبت خواهد شد:

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

همانطور که در تصویر فوق نیز مشاهده می کنید، اطلاعات به درستی به سلول های صفحه گسترده اکسل منتقل شدند منتهی کدهای نوشته شده در قسمت CommandButton دو ضعف بزرگ دارد که در قسمت قبل نیز به آنها اشاره گردید.

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

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

در کدهای وی بی ای فوق، ما یک متغیر به نام LastRow تعریف نمودیم که آخرین سلول موجود در ستون A صفحه Sheet1 را شناسایی و به آن یک مقدار (+1) اضافه می کند تا سلول خالی بعدی برای درج اطلاعات جدید انتخاب شوند. در ادامه این متغیر را جایگزین شماره ردیف هریک از سلول ها نمودیم. به تصویر زیر دقت کنید:

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

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

حال نیاز است دستوراتی بنویسیم که پس از درج اطلاعات، فیلدهای این یوزرفرم را برای ما خالی (Empty) و به نحوی فرم را برای ورود داده بعدی آماده کند. به کدهای زیر دقت کنید:

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

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

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

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

موفق و پیروز باشید.

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