فرم ورود اطلاعات در اکسل و روش طراحی سریع آن
فرم ورود اطلاعات در اکسل
فرم ورود اطلاعات ( User Form ) در اکسل یکی از مناسب ترین روش های ثبت داده و اطلاعات داخل شیت ها می باشد.جمع آوری اطلاعات و ورود داده ها بصورت منظم، یکی از اساسی ترین اقدمات در هر عملیاتی می باشد.اکسل به علت کاربردی آسان و ساختاری جدول مانند، یکی از بهترین گزینه ها برای جمع آوری اطلاعات و تجزیه و تحلیل آن می باشد.اما مهمترین مساله ای که اینجا پیش می آید این است که چگونه روند ثبت اطلاعات رو به گونه ای طراحی کنیم تا علاوه بر بالا بردن سرعت و دقت در هنگام ورود اطلاعات، با طراحی یک رابط کاربری زیبا و شخصی سازی شده بتوانیم ارتباطی گرم و صمیمی بین کاربر و نرم افزار برقرار کنیم.
روش های ساخت فرم ورود اطلاعات در اکسل:
- استفاده از Form اختصاصی اکسل: برای ثبت اطلاعات، اکسل یک فرم رابط درنظر گرفته است که نام فیلدهای ثبت اطلاعات کاملا به هدر ثبت شده در شیت اکسل بستگی دارد.
- طراحی Form با استفاده از VBA : در این روش که نیاز به دانش اکسلی و زبان برنامه نویسی VBA دارد، شما می توانید فرم های شخصی سازی شده و حرفه ای برای ورود اطلاعات طراحی کنید.
خب…! حالا کدوم روش بهتره…؟
اگر شما از جمله کاربران مبتدی در اکسل هستید و دنبال یک فرم ساده و بدون دردسر برای ورود اطلاعات هستید، ما Form آماده اکسل رو بهتون پیشنهاد می دهیم.زیرا تنها با یک کلیک فرم اکسل آماده ورود اطلاعات می شود.اما اگر وارد دنیای شیرین برنامه نویسی VBA شده اید و قصد دارید فرم های حرفه ای تحت VBA با کلی امکانات طراحی کنید پس توصیه می کنیم از روش دوم استفاده کنید.
اگر هنوز با دنیای VBA آشنا نشده اید توصیه ما این است حتی برای یک مدت کوتاهی هم که شده وارد بحث VBA شوید تا ببینید با ترکیب این زبان برنامه نویسی با اکسل چه کارهای خارق العاده ای می شود انجام داد.
اگر می خواهید آموزش VBA را شروع کنید می توانید در دوره رایگان آموزش تصویری VBA شرکت کنید.
مراحل ساخت فرم ورود اطلاعات:
فرض کنید می خواهیم اطلاعات مربوط به کالاها شامل نام کالا، قیمت خرید، قیمت فروش و واحد شمارش کالا را در اکسل ثبت کنیم.ابتدا لازم است تا یک جدولی برای ثبت اطلاعات خود با هدر های گفته شده طراحی کنیم تا بتوان اطلاعات را داخل این فرم ثبت و ذخیره کرد (مطابق شکل ۱).
روش اول:
برای اینکه بتوانیم از فرم اختصاصی اکسل استفاده کنیم لازم است ابتدا ابزار فرم رو در قسمت Quick Access اضافه کنیم.برای اینکار مسیر زیر رو بروید تا پنجره Excel Options بازشود:
File > Options
مطابق شکل شماره ۲ در پنجره باز شده می توانید از قسمت Quick Access Toolbar ابزار فرم را به سایر ابزارهای خود اضافه کنید.
بعد از انجام عملیات فوق یک ابزار مربوط به فراخوانی فرم ورود اطلاعات اضافه می شود که با کلیک بر روی آیکون این ابزار، فرم ورود اطلاعات فراخوانی می شود.
همچنین برای فراخوانی فرم می توانید از کلید میانبر Alt+D+OO استفاده کرد
نکات قبل از فراخوانی Form:
- حتما محدوده جدول شما مشخص و ستون ها دارای هدر(عنوان ستون) باشند.
- قبل از فراخوانی فرم حتما محدوده جدول یا یکی از سلول های محدوده انتخاب شود تا با خطا مواجه نشوید.
- برای جلوگیری از برخی خطاها می توانید محدوده خود را به Table تبدیل کنید.
توجه:
با ثبت نام رایگان در سایت می توانید صفر تا ۱۰۰ ابزار پیشرفته Table رو بصورت تصویری مشاهده کنید.
- NEW: با زدن این گزینه اطلاعات وارد شده ثبت و باکس ها برای ثبت کالای جدید خالی می شود.
- Delete: رکورد جاری را از لیست کالاهای شیت حذف می کند.
- Restore: فقط باکس های فرم را برای ثبت کالای جدید پاک می کند.
- Find Prev: اطلاعات ثبت شده ی قبلی را نمایش می دهد.
- Find Next: اطلاعات ثبت شده ی بعدی را نمایش می دهد.
- Criteria: برای جست و جو بین اطلاعات ثبت شده براساس یک آیتم خاص.
مثلا می خواهیم تمام کالاهایی که قیمت خریدشان ۱۳۵.۰۰۰ ریال می باشد را ببینیم.برای اینکار در باکس “قیمت خرید” مبلغ را وارد می کنیم و با استفاده از گزینه های Find Prev و Find Next می توان کالاهایی که این قیمت خرید را دارند را مشاهده کرد.
آموزش ویدئویی این روش:
[aparat id=”bpRis”]
روش دوم:
برای طراحی فرم ورود اطلاعات (User Form) از طریق VBA ابتدا کلید ترکیبی Alt+F11 رو بزنید تا وارد محیط برنامه نویسی VBA شوید.در پنجره باز شده از قسمت منوها گزینه ی Insert را بزنید و از لیست باز شده User Form را انتخاب کنید تا یک یوزرفرم ایجاد شود.
پنجره ToolBox:
با استفاده از این ابزار می توانیم آبجکت های موردنیاز برای ایجاد فرم ورود اطلاعات را ایجاد کنیم.اگر این پنجره برای شما فعال نمی باشد روی آیکون آچار که با علامت موس در تصویر نمایش داده شده است کلیک کنید تا این ابزار فعال شود.
آبجکت هایی که ما برای پروژه خودمان نیاز داریم:
- TextBox: با استفاده از این آبجکت می توان اطلاعات را از کاربر دریافت و در شیت اکسل ثبت کرد.
- Label: با این آبجکت می توان یک متن توضیحی در User Form ها ایجاد کرد.
- CommandButton: با این آبجکت می توان یک دکمه ثبت داده برای فرم خودمان ایجاد کنیم.
نکته:
بعد از ایجاد هریک از آبجکت های فوق یک توضیح پیشفرض برای آنها ایجاد می شود که شما می توانید با انتخاب آبجکت موردنظر از قسمت Properties که با کادر قرمز رنگ در عکس نشان داده شده است، لیبل توضیحی آنرا از قسمت Caption تغییر دهید.
اکنون کد زیر را کپی کنید:
Dim last_row
last_row = Sheets("kala").Range("a1048000").End(xlUp).Row + 1
Sheets("kala").Cells(last_row, 1) = TextBox1.Text
Sheets("kala").Cells(last_row, 2) = TextBox2.Text
Sheets("kala").Cells(last_row, 3) = TextBox3.Text
Sheets("kala").Cells(last_row, 4) = TextBox4.Text
سپس روی دکمه “ثبت” کلیک راست کرده و گزینه View Code را انتخاب تا وارد محیط برنامه نویسی شوید.
اکنون بدون هیچ کلیک اضافه ای کلید Ctrl+V را بزنید تا کدها Paste شود.
توضیح کدها:
- خط اول: ما اینجا یک متغیر به نام last_row ایجاد کردیم تا شماره ردیف آخرین سلول خالی را داخل آن ذخیره کنیم
- خط دوم: اینجا با استفاده از تابع End(xlUp).Row شماره ردیف آخرین سلول پر در ستون A را بدست آوردیم و به اضافه عدد ۱ کردیم تا شماره ردیف آخرین سلول خالی مشخص شود سپس مقدار بدست آمده را در داخل متغیر last_row ذخیره کردیم.
- خط سوم به بعد: اینجا با استفاده از تابع Cells می گوییم که مقدار سلولی که مثلا شماره سطرش last_row و شماره ستونش ۱ می باشد برابر است با مقداری که داخل TextBox1.Text ذخیره شده است.
اگر می خواهید User Form های حرفه ای تحت VBA طراحی کنید می توانید با ثبت نام در سایت بصورت کاملا رایگان در دوره های آموزش تصویری برنامه نویسی VBA شرکت کنید.
دانلود فایل آموزش
جهت دریافت فایل آموزش کلیک کنید…[/su_buttonمنبع: support.office
درباره جاوید
عاشق اکسل هستم و بیش از 12 ساله دارم اکسل کار می کنم. در این مسیر آموزش ها و فایل های حرفه ای ارائه دادم و همچنان در این مسیر با علاقه پیش میرم چون امروزه اکسل به یک مهارت انکار نشدنی تبدیل شده
سایر نوشته های جاویدمطالب زیر را حتما مطالعه کنید
ایجاد لیست شیت ها در ComboBox اکسل با دستورات VBA
راست چین در اکسل و نحوه راست به چپ کردن شیت اکسل
فقط با ۳ سوت فرم لاگین در اکسل طراحی کن
مخفی کردن اکسل بعد از اجرای UserForm و عدم نمایش محتویات داخل اکسل
آموزش طراحی UserForm گرافیکی و جذاب در اکسل
تفریق در اکسل را چگونه انجام دهیم؟
19 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام و خدا قوت بنده یک فرم را در محیط اکسل طراحی کردم و می خواهم استفاده کنم برای ورود اطلاعات در برخی ستون ها داده های یکسانی است که در خود اکسل می توان از منوی کشویی استفاده کرد آیا می توانم این داده های کشویی را در فرم هم داشته باشم که نیاز به تایپ نداشته باشه
سلام. وقت بخیر
بله میتونید با آبجکت ListBox این کار رو انجام بدید.
من میخوام مثلا یه فرم بزارم با شکل دلخواه خودم اطلاعات فرم تو یه شیت دیگه ذخیره شه..باید چی کار کنم؟
سلام. وقت بخیر
میتونید دوره رایگاه VBA رو مشاهده کنید که نحوه ورود اطلاعات یوزرفرم داخل شیت رو آموزش دادیم.
سلام
چه جوری برای اکسل تعریف کنم که پس از خروج خورد کالا، خروج را از ورود کم کن و یک ردیف زیر همان ایجاد کن و اطلاعات محصول ار کپی کن و تعداد ورودت کم شده باشه؟
سلام. وقت بخیر
شما یا باید دستی ورود و خروج هارو زیر هم با بنویسید و با فرمول نویسی موجودی انبار رو کنترل کنید یا باید کدنویسی کنید.
برای فرمول نویسی میتونید دوره جامع آموزش انبارداری در اکسل رو مشاهده کنید.
سلام من طبق توضیحات سایت شما در اکسل یه جدول از طریق form درست کردم و هر کدام از سطر ها رو رو وارد کردم اما وقتی که میخوام از بین داده ها یکی رو سرچ کنم که پیداش کنم نمیشه چیکار باید انجام بدم؟
سلام.
برای سرچ باید کد مجزا بنویسید.
سلام
من یک ورک شیت دارم که از اون برای دیتا بیس استفاده می کنم حال سوال اینجاست که ورک شیت من فایل PMS برای کنترل پروژه هست
مثال می زنم هر ۸۰ تا ۱۵۰ ردیف یک هدر داره که هر چند تا هدر هم خودشون بالا دست دارند حال من نیاز دارم برای به دست آوردن اعداد بالا دست از مجموع یا محاسبه درصد گیری سلولهای پایین برای بالا دست استفاده کنم حال سوال اینجاست که چون ردیف ها مساوی نیست آیا راهی هست که بتوان از فرمول دهی خاصی راحتتر بتوان دیتا اینتری کرد
ممنون میشم اگر پاسخ را به ایمیل mohammadafsari@gmail.com ارسال فرمائید.
ممنون
سلام. وقت بخیر
باید فایلتون رو دید. چون دقیق متوجه منظورتون نشدم.
با سلام و خسته نباشید
بنده یه فرمی رو در محیط اکسل طراحی کردم و میخوام برای کاربرام در محیط شبکه قرار بدم و هدفم ازین کار این هست تا اونها یه سری درخواست هایی که دارن از طریق فرم تکمیل و اون رو به من ارسال کنن…
داخل سیستم خودم برای آزمایش کار که اجرا میکنم فرم رو بی هیچ نقصی و کامل اوکی هست و هیچ موردی هم نداره اما متاسفانه وقتی از روی سیستمی دیگه که تحت شبکه هست همون فرم رو تکمیل میکنم و از سیستم سرور چک میکنم متاسفانه اطلاعات نمیاد…
ممنون میشم راهنمایی کنین که چطور اطلاعات رو کاربران از طریق فرم به سرور که سیستم خودم باشه منتقل کنن .
سلام. وقت بخیر
اگر از VBA استفاده کردید، کدهای VBA در محیط شبکه دچار مشکل میشه
خب یعنی هیچ راهکاری برای این کار نیست ؟؟
سلام با آرزوی تندرستی و سلامتی
استاد عریر برای این دستور در یک برنامه اطلاعات پرسنلی قصد دارم با دستور vba بنویسم
” لطفا نام و نام خانوادگی را به صورت متن وارد نمائید”
ممنون می شم راهنمایی بفرمائید
باتشکر الماسی
سلام. وقت بخیر
اگر متنی بودن یک سلول رو میخواهید بررسی کنید می تونید از تابع ISTEXT استفاده کنید.
مثلا:
If WorksheetFunction.IsText(Sheet1.Range("A1")) = False Then
MsgBox"لطفا نام و نام خانوادگی را به صورت متن وارد نمائید"
End if
یا اگر می خواهید متنی بودن TextBox رو بررسی کنید می تونید از دستور زیر استفاده کنید:
If IsNumeric(TextBox1) Or IsDate(TextBox1) Then
MsgBox "لطفا نام و نام خانوادگی را به صورت متن وارد نمائید"
End If
سلام من فرم ثبت فاکتور رو ایجاد کردم ولی وقتی اطلاعات رو وارد میکنم در Table اجرا نمی کنه و ردیف بعد از جدول table ثبت می کنه ممنون میشم راهنمایی کنید؟سلام من فرم ثبت فاکتور رو ایجاد کردم ولی وقتی اطلاعات رو وارد میکنم در Table اجرا نمی کنه و ردیف بعد از جدول table ثبت می کنه ممنون میشم راهنمایی کنید؟
سلام. وقت بخیر
مسیر زیر رو برید :
File tab > Options > Proofing > AutoCorrect Options
در پنجره باز شده از تب AutoFormat As You Type تیک مربوط به Include new rows and columns in table رو فعال کنید.
سلام جناب جاوید مختاری عزیز وقت بخیر چطور می توانم کلمه false در یک سلول نشان داده نشود اما شرط برقرار باشد . دستور شرطم کاملا اجرا می شود اما در سلولی که اجرای شرط برقرار نشده کلمه false را نشان می دهد انشالله که توانسته باشم مشکلم را تشریح بکنم سپاسگزارم
سلام.وقت بخیر
این False نتیجه فرمول نویسی هستش با کدنویسی؟