کمبو باکس در اکسل – نحوه ایجاد و استفاده + مثال

۱۰۴۹۲ بازدید
آخرین به‌روزرسانی: ۲۲ خرداد ۱۴۰۲
زمان مطالعه: ۷ دقیقه
کمبو باکس در اکسل – نحوه ایجاد و استفاده + مثال

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

997696

کمبو باکس در اکسل چیست؟

ساده‌ترین پاسخ به سوال اینکه کمبو باکس در اکسل چیست را می‌توانید به صورت بصری در تصویر زیر مشاهده کنید.

ساختن کمبو باکس در اکسل

می‌توانید این ابزار را مانند یک لیست کشویی در نظر بگیرید که ترکیبی از قابلیت‌های دیگر را نیز ارائه می‌دهد. امکان ساخت آن در هر یک از سلول‌ها وجود دارد و کاربران می‌توانند برای مشاهده گزینه‌ها روی علامت فلش در سمت راست آن کلیک کنند. برای انتخاب یک مورد یا گزینه نیز کافی است روی گزینه موردنظر خود بزنند.

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

ساخت کمبو باکس در اکسل

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

  • از طریق Form Control: این گزینه داخل اکسل قرار دارد و در این نوع کمبو باکس، کاربران امکان تغییر دادن ویژگی‌ها را ندارند.
  • از طریق ActiveX: این روش بسیار متنوع‌تر و راحت‌تر از روش قبلی است و کاربران می‌توانند ویژگی‌های آن را تغییر دهند.

در ادامه می‌بینید که تفاوت بین این دو کمبو باکس در محیط اکسل چگونه است.

تفاوت کمبو باکس activex و form control

قبل از هرچیز برای ساخت کمبو باکس در اکسل باید اقداماتی را انجام دهید.

اقدامات اولیه پیش از ساخت کمبو باکس در اکسل

برای انتخاب گزینه کمبو باکس و افزودن آن به سند اکسل، باید ابتدا زبانه «Developer» را فعال کرده باشید. به این منظور ابتدا گزینه «File» را در گوشه سمت چپ بالای نوار ابزار اکسل بزنید. سپس در صفحه جدید و در قسمت پایین، سمت چپ گزینه «Options» را انتخاب کنید. اگر این مورد را ندیدید، ابتدا گزینه «More» را بزنید.

صفحه تنظیمات اکسل

صفحه جدیدی باز می‌شود که شامل گزینه‌های مختلف برای تغییر تنظیمات برنامه اکسل است. در این صفحه به بخش «Customize Ribbon» بروید، از لیست کشویی «Customize the Ribbon»، گزینه «Main Tabs» را برگزینید و سپس در این منو، تیک گزینه Developer را بزنید.

فعال کردن تب developer در اکسل

حالا می‌توانید زبانه Developer را در پنجره اکسل خود ببینید.

ساخت کمبو باکس در اکسل به کمک Form Control

برای افزودن کمبو باکس با این روش، وارد زبانه Developer شوید، گزینه «Insert» را بزنید و سپس مطابق تصویر زیر، گزینه «Combo Box» را از بخش Form Controls انتخاب کنید.

ایجاد کمبو باکس در اکسل

حالا نشانگر ماوس شما به یک علامت «مثبت» (+) تبدیل می‌شود و می‌توانید کمبو باکس خود را به کمک ماوس، در هر قسمتی از صفحه و روی هر سلولی، بکشید.

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

کمبو باکس فرم کنترل

روش افزودن کمبو باکس به کمک ActiveX

اولین راه برای افزودن کمبو باکس در اکسل را دیدیم، در ادامه بررسی می‌کنیم که انجام این کار به کمک ActiveX چگونه انجام می‌شود. برای انجام این کار ابتدا باید فهرست خود را به یک محدوده دارای نام تغییر دهید. به این منظور وارد زبانه «Formulas» شوید و گزینه «Name Manager» را بزنید.

ساخت محدوده دارای نام در اکسل

به این شکل پنجره جدیدی باز می‌شود. در این بخش دکمه «New» را بزنید.

پنجره name manager

سپس نام موردنظر برای لیست خود را در کادر Name وارد کنید. در این مثال نام «Microsoft» را انتخاب کرده‌ایم. توجه داشته باشید که نباید بین حروف نام انتخابی، فاصله‌ای وجود داشته باشد. حالا داخل کادر «Refers to» کلیک کرده و کل گزینه‌های لیست را به کمک ماوس انتخاب کنید یا محدوده سلولی موردنظر را درون این کادر بنویسید.

انتخاب سلول ها برای ساخت محدوده دارای نام

در مرحله بعد دکمه «OK» را بزنید تا اکسل لیست شما را به یک محدوده دارای نام تبدیل کند. از این پس می‌توانید از نام انتخابی مانند «Microsoft» برای اشاره به این محدوده در داخل کاربرگ‌های اکسل استفاده کنید.

حالا به زبانه Developer بروید و از منوی Insert، گزینه ActiveX Control و سپس CombpBox را انتخاب کنید.

کمبو باکس activex

سپس کمبو باکس خود را با اندازه دلخواه در محل موردنظر رسم کنید.

تفاوت کمبو باکس ActiveX و Form Control

شاید برایتان سوال باشد که این دو روش بسیار شبیه به هم هستند و چرا باید از ActiveX Control که مراحل بیشتری دارد کمک بگیریم؟ در ادامه تفاوت‌های این دو نوع را می‌بینم.

  • امکان تغییر دادن ظاهر کمبو باکس ActiveX وجود دارد (تغییر سبک و رنگ).
  • شما حتی می‌توانید فونت گزینه‌ها را در کمبو باکس ActiveX تغییر دهید.
  • در کمبو باکس‌های ActiveX، کاربران نیز می‌توانند گزینه‌های جدیدی به لیست اضافه کنند (اگر قبلا این گزینه وجود نداشته باشد).

توجه داشته باشید که این قابلیت‌ها در کمبو باکس Form Control وجود ندارند.

نحوه کار با کمبو باکس Form Control

پس از افزودن کمبو باکس در اکسل باید گزینه‌های جدید برای آن تعریف کنید تا کاربران بتوانند از لیست استفاده کنند.

برای انجام این کار ابتدا روی کمبو باکس خود کلیک کرده و گزینه «Format Control» را انتخاب کنید.

استفاده از کمبو باکس در اکسل

حالا در صفحه جدید به زبانه Control بروید، داخل کادر Input Range کلیک کرده و سپس به کمک ماوس، محدوده سلولی گزینه‌ها را انتخاب کنید. می‌توانید به طور دستی نیز محدوده را درون این کادر بنویسید.

افزودن گزینه به لیست کمبو باکس

گزینه «Cell Link» را روی سلولی تنظیم کنید که می‌خواهید گزینه انتخابی در آن نشان داده شود. یعنی وقتی کاربر گزینه موردنظر را برگزیند، شماره مربوط به آن را در این سلول خواهد دید. به این شکل بعدا نیز می‌توانید از گزینه انتخاب شده، در فرمول‌ها و محاسبات استفاده کنید.

انتخاب گزینه از لیست کمبو باکس و تبدیل عدد متناظر به متن

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

روش استفاده از کمبوباکس در اکسل

برای نمایش نام گزینه به جای عدد آن، می‌توانید از تابع «Index» در اکسل کمک بگیرید. این تابع، محل قرارگیری گزینه را به عنوان ورودی گرفته و مقدار آن را در خروجی نمایش می‌دهد. در نمونه زیر می‌بینید که چگونه این کار را برای کمبو باکس «Microsoft» انجام داده‌ایم.

1=INDEX(A2:A8,D1)
تبدیل عدد به متن در اکسل

روش افزودن گزینه به کمبو باکس ActiveX

روش کار با کمبو باکس ActiveX کمی با Form Control متفاوت است، به این دلیل که قابلیت‌های متفاوت‌تری ارائه می‌دهد. برای انجام این کار ابتدا روی کمبو باکس راست‌کلیک کرده و سپس گزینه Properties را انتخاب کنید.

استفاده از کمبوباکس activex

در صفحه جدید، گزینه «ListFillRange» را پیدا کرده، اسم محدوده دارای نام را در کادر جلوی آن بنویسید و سپس پنجره را ببندید.

فعال کردن گزینه های لیست کمبو باکس activex

حالا فایل اکسل خود را با پسوند  .xlsm  ذخیره کرده، ببندید و دوباره باز کنید.

ذخیره سند اکسل

پس از باز کردن مجدد کافی است روی فلش سمت راست کمبو باکس کلیک کنید تا گزینه‌ها نشان داده شوند.

شیوه کار با کامبوباکس در اکسل

سایر ویژگی‌های کمبو باکس خود را نیز می‌توانید به همین شکل عوض کنید. به عنوان مثال در تصویر زیر، رنگ پس زمینه و فونت گزینه‌ها را تغییر داده‌ایم.

تغییر فونت و رنگ کمبو باکس در اکسل

گزینه Link Cell نیز در همین بخش قابل دسترس است و می‌توانید سلولی را برگزینید تا نام گزینه انتخابی، در آن نمایش داده شود. از مزیت‌های کمبو باکس ActiveX می‌شود این مورد را نیز در نظر گرفت که در اینجا، از ابتدا مقدار گزینه نمایش داده می‌شود و نیازی به تبدیل عدد متناظر نیست.

گزینه link cell

حذف کردن کمبو باکس ActiveX در اکسل

ممکن است متوجه شده باشید که پس از ذخیره فایل اکسل با قالب جدید و باز کردن مجدد آن، گزینه‌های کمبو باکس ActiveX نشان داده می‌شوند اما دیگر نمی‌شود کاری روی آن انجام داد. در این شرایط برای حذف کردن این کمبو باکس اول باید به زبانه Developer بروید و حالت «Design Mode» را روشن کنید.

حذف کمبو باکس در اکسل

حالا کمبو باکس موردنظر را با کمک ماوس انتخاب کرده و سپس دکمه «Delete» را روی کیبورد بزنید. از همین ترفند می‌توانید برای انتخاب مجدد گزینه Properties و انجام تغییرات جدید نیز استفاده کنید.

افزودن گزینه‌های کمبو باکس به کمک کدنویسی VBA

محیط کدنویسی VBA یکی از قابلیت‌های اکسل است که امکان انجام وظایف پیچیده‌تر را فراهم می‌کند. در ادامه می‌بینیم که چطور می‌توانید کمبو باکس خود را با کدنویسی در این محیط، پر کنید. در بیشتر مواقع، زمانی که «Workbook» یا پنجره اکسل باز می‌شود، وقتی است که کمبو باکس باید پر شود.

به همین خاطر، باید کدی برای پر کردن کمبو باکس در شیٔ Workbook با رویه «Open» داشته باشیم. هر بار که کاربر Workbook را باز کند، این رویه اجرا خواهد شد. در این بخش از مطلب مجله فرادرس کد به شکل زیر است:

1With Sheet1.ComboBox
2
3    .AddItem "OneDrive"
4    .AddItem "Excel"
5    .AddItem "Word"
6    .AddItem "Powerpoint"
7    .AddItem "Team"
8
9End With

حالا با کلیک روی منوی کشویی می‌توانید پنج گزینه موجود را ببینید.

دریافت گزینه انتخابی کمبو باکس به کمک VBA

هدف استفاده از کمبو باکس در اکسل این است که پاسخ کاربر را دریافت کنیم. برای انجام این کار، کد زیر را به کار می‌بریم:

1Dim strSelectedItem As Variant
2
3strSelectedItem = Sheet1.ComboBox.Value

انتخاب کاربر در صفت «Value» از شیٔ Sheet1.ComboBox   قرار دارد. این مقدار درون متغیر «strSelectedItem» ریخته شده است.

پاک کردن گزینه‌های داخل کمبو باکس

برای حذف کردن تمام گزینه‌های داخل لیست کمبو باکس می‌توانید از «متد» (Method) «Clear» برای شیٔ «Sheet1.ComboBox» استفاده کنید. کد نهایی شبیه به نمونه زیر خواهد بود:

1Sheet1.ComboBox.Clear

توجه داشته باشید که متد Clear، صفت ListFillRange را حذف نمی‌کند و باید آن را از طریق صفحه Properties و به صورت مجزا پاک کنید. در نهایت کمبو باکس خالی شبیه به تصویر زیر می‌شود.

پاک کردن گزینه های کمبو باکس در vba اکسل

استفاده از کمبو باکس در Userform

همان‌طور که گفتیم، بیشترین استفاده از کمبو باکس‌ها در فرم‌هایی است که در اختیار کاربر قرار می‌گیرند. برای استفاده از کمبو باکس در این نوع فرم‌ها ابتدا باید یک «Userform» اضافه کنیم.

ابتدا دکمه‌های «Alt+F11» را روی کیبورد بزنید و سپس در صفحه مربوط به VBA، روی نام ماژول راست‌کلیک کرده و گزینه «Userform» را از منوی «Insert» انتخاب کنید.

ساخت ماژول جدید در vba اکسل

در این قسمت برای نمایش کنترل‌ها باید ابتدا «Toolbox»‌ را فعال کرده باشید. برای انجام این کار کافی است روی نماد Toolbox در نوار ابزار کلیک کنید. حالا در بین ابزارها، گزینه ComboBox را بزنید تا به صفحه اضافه شود.

ساخت کمبو باکس در یوزرفرم

نام این کمبو باکس را «ComboBox» می‌گذاریم. حالا برای پر کردن گزینه‌های آن باید کد زیر را داخل متد «Initialize» از شیٔ «UserForm» بنویسیم.

1Private Sub UserForm_Initialize()
2
3    With UserForm.ComboBox
4
5        .AddItem "OneDrive"
6        .AddItem "Excel"
7        .AddItem "Word"
8        .AddItem "PowerPoint"
9        .AddItem "Team"
10
11    End With
12
13End Sub

انتخاب گزینه‌های این کمبو باکس نیز درست مانند انتخاب گزینه‌های کمبو باکس به روش قبلی است.

سخن پایانی

در این مقاله از مجله فرادرس تمام روش‌های افزودن و استفاده از کمبو باکس در اکسل را بررسی کردیم. ابتدا دیدیم که چگونه می‌شود به کمک Form Control این کار را انجام داد، سپس به بررسی شیوه استفاده از ActiveX برای انجام این کار پرداختیم. در ادامه روش افزودن گزینه‌های مختلف، ویرایش و کار با هریک از این کمبو باکس‌ها را نیز دیدیم.

در انتها با استفاده از کدنویسی VBA نیز گزینه‌های مختلفی به کمبو باکس اضافه کردیم. همچنین دیدیم که خالی کردن و پاک کردن گزینه‌های لیست به کمک VBA چگونه انجام می‌شود و روش دریافت جواب کاربر را نیز بررسی کردیم.

بر اساس رای ۱۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
spreadsheetoautomateexcelautomateexceleducba
۱ دیدگاه برای «کمبو باکس در اکسل – نحوه ایجاد و استفاده + مثال»

با سلام و خسته نباشید. امکانش هست دامنه گزینه ها تابع شرطی باشه!؟ و در هر شرایطی، گزینه های خاص خودش رو داشته باشه!؟
میشه توضیح بدید؟!

نظر شما چیست؟

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