
ابزارهای فرم یا Form Controls ابزارهایی هستند که برای پویاسازی و داینامیک سازی از آنها استفاده میشه. استفاده از این ابزارها به نمایش حرفه ای داشبورد، نرم افزار، گزارش و … خیلی کمک میکنه. همچنین استفاده از این ابزارها در ورود اطلاعات یکدست و با کمترین تغییرات، تاثیر زیادی داره. ابزارهایی مثل کمبوباکس ( Combobox ) در اکسل (لیست فرو ریز یا DropDown List)، لیست باکس و … از این دسته هستند (شکل ۱).

شکل ۱- ابزارهای فرم
نحوه استفاده از ابزارهای Form Control
برای استفاده از این ابزارها باید تب Developer رو در اکسل فعال کنیم. برای فعال کردن این تب، از مسیر زیر تیک تب Developer رو میزنیم:
File/ Excel Options/ Customize Ribbon
از تب ایجاد شده و از قسمت Controls زبانه Insert رو باز میکنیم. از لیست نمایش داده شده میتونیم ابزارهای مورد نظر رو انتخاب کنیم.
نحوه اضافه کردن ابزار مورد نظر رو در تصویر بالا می بینید.

شکل ۲- انتخاب ابزار مورد نظر
ابزار کمبوباکس (Combobox) در اکسل:
با استفاده از این ابزار میتونیم یک لیست فروریز تهیه کنیم که داده ها از آن انتخاب میشود. مشابه این ابزار رو در Data Validation/ List هم داریم. البته تفاوت هایی در خروجی این دو ابزار وجود داره که بعدا تشریح خواهد شد. (شکل ۳)

شکل ۳- نمونه لیست فروریز با استفاده از کمبوباکس ( Combobox ) در اکسل
ابزار CheckBox:
با استفاده از چک باکس میتونیم گزینه های مختلفی رو انتخاب کنیم. از این ابزار برای تعیین فاکتورهای مختلف در گزارشگیری ها استفاده میشه. (شکل ۴)

شکل ۴- نمونه چک باکس CheckBox
ابزار Option Button:
دکمه های انتخاب یا دکمه های رادیویی هم برای انتخاب کردن بکار میره. تفاوت این ابزار با چک باکس این هست که در چک باکس بیش از یک گزینه قابل انتخاب هست ولی در دکمه های رادیویی، فقط یک گزینه قابل انتخاب است. (شکل ۵)

شکل ۵- نمونه دکمه رادیویی Option Button
ابزار Spin Button:
این ابزار شمارنده هست. در جایی که نیاز به تعیین عدد باشه میتونه از این ابزار استفاده بشه.

شکل ۶- نمونه شمارنده Spin Button
ابزار ListBox:
از لیست باکس برای نگهداری یک سری داده و کمک به انتخاب راحت تر استفاده میشه. یکی از تفاوتهای این ابزار نسبت به کمبوباکس، در صورت انتخاب حالت Multi امکان انتخاب چند گزینه در یک لحظه فراهم میشه.

شکل ۷- نمونه لیست باکس ListBox
ابزار Label:
برچسب یا لیبل، مثل TextBox هست و برای ایجاد یک لییل استفاده میشه.
ابزار ScrolBar:
اسکرول بار ابزاری هست که برای خلاصه کردن نمایش داده ها، نمودارها و … استفاده میشه. بخاطر این کاربرد، ابزار اسکرول بار در داشبوردها کابرد خیلی زیادی برای خلاصه کردن داده ها در شیت گزارش داشبوردها و نرم افزارها داره.

شکل ۸- نمونه اسکرول بار Scroll Bar
ابزار Button:
از این ابزار برای اجرای کدهای VBA استفاده میشه. در واقع تفاوتی بین این ابزار در دسته Form و ActiveX وجود نداره.
ابزار GroupBox:
برای نگهداری دسته های مختلف ابزارهای معرفی شده استفاده میشه. مخصوصا در مورد Option Button ها، از این ابزار استفاده میشه تا بتوان هر چندتا دکمه رادیویی را در یک شیت به یک سلول مجزا متصل کرد.
اگر از این ابزار استفاده نکنیم، همه دکمه های رادیویی موجود در یک شیت به یک سلول متصل میشن. در حالیکه ممکنه ما بخوایم دسته ها و گروه های مختلفی و مستقل از دکمه های رادیویی در یک شیت داشته باشیم.

شکل ۹- استفاده از Group Box برای یک دسته دکمه رادیویی
تفاوت کنترل های ActiveX و Form
ابزارهای داینامیک سازی مثل کمبوباکس ( Combobox ) در اکسل ، در دو حالت ActiveX و Form در اکسل قابل استفاده هستند. از نظر کاربرد و خروجی عینا مشابه هم هستند. تفاوتی که این دو گروه با هم دارند، در نوع استفاده هست.
ActiveX ها از طریق VBA تنظیم میشن. یعنی برای استفاده از ActiveX Controls کدنویسی VBA لازمه و همه تنظیمات مربوط به این ابزارها از طریق کدنویسی انجام میشه. اما Form کنترل ها، داخل شیت اکسل تنظیم میشن. یعنی همه تنظیمات از قبیل تخصیص منبع داده و یا استفاده از خروجی های مختلف داخل اکسل و از طریق ارتباط با سلول های شیت انجام میشه و ما میتونیم فرمول نویسی انجام بدیم.




با سلام و عرض ادب
میخواستم بدونم چطور میشه بدون فرمول نویسی زیاد کمبو باکس چند ستونی وابسته ایجاد کرد
درود بر شما
https://excelpedia.net/related-list/
سلام خسته نباشید یه سوال در مورد کدنویسی ویژوال بیسیک داخل اکسل داشتم میخواستم بپرسم با چه کدی میشه دو لیست باکس رو به طور همزمان اسکرول کرد یعنی دو لیست باکس داریم با تعداد داده یکسان که از حد صفحه بیشتر شده و هر دو نوار اسکرول بار برای پیمایش بقیه داده ها دارن میخوام با اسکرول کردن یکی از این لیست باکس هر هر دو با هم به طور همزمان بالا و پایین شوند و حرکت کنند.
سلام من یه فرم دارم که به وسیله اون دارم داده هارو به اکسل میدم . برای جلوگیری از داده تکراری چه کدی رو باید تو vba بنویسم ؟
درود بر شما
در کد مربوط به ثبت، باید یک حلقه جستجو داشته باشید و ببینید مقداری که دارید ثبت میکنید، در داده های قبلی وجود داره یا نه. اگه وجود داشت، پیام تکراری بودن رو اعلام کنه. اگر نه هم ثبت کنه. حلقه for و شرط منطقی IF
با عرض سلام و خسته نباشی یه راهنمایی میخواستم چطور با کمبوباکس یه گزارش روزانه که در داخل کمبوباکس تاریخ مورد نظر باشه که با زدن تاریخ روز مورد نظر گزارش روز انجام بشه.
درود بر شما
سوال شما خیلی بستگی به این داره که تاریخ شمسی و میلادی
ولی بصورت کلی هر کدوم که باشه (و روش های کاربرد خودشون). باید ارتباط مناسبی در دیتابیس برقرار شده باشه و با مجموعه ای فرمول نویسی، داده های مرتبط فراخوانی بشه.
در واقع این موضوع یک سری فرآیند و روش و فرمول ها به هم مرتبط هست که جواب کارتون و میده
با سلام
چگونه می توان یک کمبو باکس را ۱۸۰ درجه چرخاند در پنجره format control گزینه rotation دارد غیر فعال است؟
درود بر شما
وقتی انتخاب میکنید، دستگیره ایجاد شده رو بگیرید و از سمت راست به سمت چپ ببرید. ۱۸۰ درجه تغییر میکنه
چگونه می توان یک کمبو باکس را ۱۸۰ درجه چرخاند در پنجره format control گزینه rotation دارد غیر فعال است؟ضمن تشکر از پاسخ شماو تبریک عید ، زمانیکه کمبو باکس اتنخاب می شود دستگیره(مانند shapeها) ظاهر نمی شود
درود بر شما
دوست عزیز کافیه ی مقدار حذکتش بدید متوجه میشید. من اینجا نمیتونم توضیح بیشتری بدم. کمبوباکس رو که انتخاب کردید. از راست بگیرید و ببرید چپ یا بر عکس. مگر اینکه ۱۸۰ درجه رو اشتباه فرموده باشید
سلام خانم مهندس میگم من تعدادی ردیف دارم که یکسری متن و فرمول تو هر ردیف نوشتم و تو یک شیت ۲ همون ردیفهای شیت ۱ رو دارم ولی با اعداد متفاوت حالا میخوام ردیفهای شیت ۲ رو دیقیقا متناظر با ردیفهای شیت ۱ رو زیر هم قراربدم راه حلی هست؟
درود بر شما
سوال واضح نیس
اگر عینا مثل همه خب چرا داده ها رو عینا کپی نمیکنید؟
سوال رو با مثال موچیک بصورت واضح تر مطرح کنید
با سلام مجدد…
در خصوص سوال قبلی از این فرمول استفاده کردم… LOOKUP(9.999999999999999e+307,C:C)=
ولی همونطور که گفتم سلول ها چون لینک هستن تمامشون بصورت پیش فرض حاوی صفر هستن این فرمول هم طبیعتن صفر رو انتخاب میکنه… در صورتیکه من آخرین عدد موجود رو میخوام… در صورت مفهوم نبودن طرح سوالم دستور بفرمایید چه کار کنم…با تشکر
درود بر شما
میتونید بصورت آرایه ای بنویسید.
این فرمول رو بصورت آرایه ای یعنی با Ctrl+shift+enter ثبت کنید.
با سلام و تشکر از وقتی که میذارید…
انجام دادم ولی با Error #name مواجه شدم. راستش اون مورد آرایه ای رو متوجه نشدم حقیقتش حرفه ای نیستم…
راهی هست که من عکس فایل رو براتون بفرستم…؟
این پست رو مطالعه کنید
https://excelpedia.net/array-formula/
میتونید سوالتون رو در گروه تلگرامی مطرح کنید
لینک در فوتر سایت هست
با سلام…
توی یک جدول فرموله شده که سلول ها بصورت پیش فرض عدد صفر دارن ینی لینک هستن به یک فایل دیگه. حالا ما در انتهای جدول مجموع هر ستون رو داریم ینی هر وقت سلول حاوی عدد شد با سلول های قبلی جمع میشه و در مجموع میاد حالا برای یک ستون فقط میخواییم آخرین عدد ثبت شده رو در ردیف مجموع نشون بده و جمع نکنه با سلول های قبلی…لطفن راهنمایی کنید اگه توضیحات واضح نیست دستور بدین چه کار کنم…
با تشکر از شما…
بسیار مفید بود…سوالی داشتم از خدمتتونم اینکه کتاب آموزشی تا حالا منتشر نکردین…؟
تشکر، لیست کتاب های فارسی نوشته شده توسط اساتید اکسل پدیا رو در کتابخانه مشاهده کنید.
لطفا نحوه کار با Group box رو بیشتر توضیح بدید… با تشکر…
درود بر شما
آموزش زیر رو مطالعه کنید:
https://excelpedia.net/questionnaire-in-excel/
سلام
ببخشید من میخوام یک جدولی درست کنم اطلاعاتی که وارد این جدول میکنم
در اخر جدول داده هام اگه تکراری نبود اضافه بشه
ممنون میشم اگه راهنماییم کنید
درود بر شما
اگر فرمی هست که اطلاعات وارد میکنید
باید کدی بنویسید که در ثبت کنترل کنه.
نیاز به کدنویسی VBA دارید
همچنین منطق تکراری بودن و مشخص کنید
اگر هم data validation استفاده میکنید از این اموزش استفاده کنید
https://excelpedia.net/prevent-duplicate-entry/
ممنون از راهنمایی که کردین ولی
یک دستوری بود اخرین سطر از یک ستون رو پیدا میکرد بعد شماره ردیف رو میخوند+۱ میکرد شمارهی خانه ای که قراره داده در اون نوشته بشه به دست می امد.