کامبوباکس در یوزرفرم اکسل همان لیست کشویی در اکسل میباشد که در این مقاله قصد داریم صفر تا صد نحوه ایجاد کامبوباکس در اکسل و حذف کامبوباکس در اکسل را به شما آموزش دهیم. اگر میخواهید به صورت رایگان کار با نرم افزار اکسل رایاد بگیرید میتوانید در صفحه آموزش اکسل از فیلم های آموزشی رایگان ما استفاده کنید.
آموزش ساخت کامبوباکس در اکسل
برای افزودن موارد به ComboBox در اکسل با استفاده از 3 روش و با آشنایی با مقداری کد VBA میتوانید این کار را انجام دهید. اگر می خواهید لیست را در یک کاربرگ در اکسل ذخیره کنید و از روش 1 استفاده کنید، از این بخش رد شوید.
به پنجره برای کد VBA با فشردن کلید (Alt + F11) بروید و مطمئن شوید که پنجره پروژه را مشاهده می کنید (Ctrl + R).

- روی UserForm مورد نظر کلیک راست کرده و View Code را کلیک کنید.

- در پنجره باز شده از منوی کشویی سمت چپ UserForm و از منوی کشویی سمت راست Initialize را انتخاب کنید.
پس از انجام این کار، بخش کد ()UserForm_Initialize را مانند تصویر بالا مشاهده خواهید کرد.
این جایی است که کد در بین دو خط کد بالا قرار می گیرد.
دلیل اینکه کد به اینجا میرود این است که این کدی است که هنگام راهاندازی یا باز شدن UserForm اجرا میشود و ما میخواهیم که ComboBox در اکسل بلافاصله با باز شدن فرم با مقادیر مورد نظر پر شود.
اگر قبلاً بخش UserForm_Initialize را با کد موجود در آن دارید، فقط کد ComboBox را در بخش موجود اضافه کنید.

روش اول ساخت لیست کشویی در اکسل
این روش بسیار ساده بوده و نیازی به کدنویسی ندارد.
ما این لیست را از طیف وسیعی از مقادیر در اکسل ایجاد می کنیم. نیازی به کدنویسی نیست، بنابراین نیازی به استفاده از VBA یا رفتن به پنجره کد مانند قسمت قبل نداریم.
به پنجره VBA بروید (Alt + F11) > روی UserForm از پنجره Project دوبار کلیک کنید (Ctrl + R اگر قابل مشاهده نیست) و سپس، هنگامی که فرم قابل مشاهده است، روی ComboBox که می خواهید با مقادیر پر کنید کلیک کنید.
به پنجره Properties نگاه کنید و به RowSource بروید. اگر پنجره Property قابل مشاهده نیست، F4 را بزنید.

در اینجا، مرجع شیت و محدوده را به لیست داده ها وارد کنید.
ایده خوبی است که مرجع برگه را در جلوی محدوده قرار دهید، در غیر این صورت ComboBox فرض میکند که محدوده مربوط به کاربرگی است که هنگام راهاندازی UserForm در آن بودید.
در مثال زیر ، لیست در صفحه 1 در محدوده G5 تا G8 است: Sheet1!G5:G8

این یک راه بسیار آسان برای ایجاد و نگهداری فهرستی برای ComboBox در اکسل است.
نکته: اگر نمیخواهید کاربر بتواند این لیست را ببیند یا تغییر دهد، آن را در یک کاربرگ پنهان قرار دهید.
روش دوم ایجاد کامبوباکس در اکسل
این روش نیز ساده بوده و برای لیست های کوچک پیشنهاد خوبی است. این روش به کد VBA نیاز داردکه ما در بخش اول در بالا توضیح دادیم که این کد را کجا باید قرار دهید.
With ComboBox1
.AddItem "Item 1"
.AddItem "Item 2"
.AddItem "Item 3"
.AddItem "Item 4"
End With
ComboBox1 نام کامبوباکسی است که می خواهیم با داده ها پر شود. نام ComboBox در پنجره Properties در بالا یافت می شود و (Name) نامیده می شود.
.AddItem چیزی است که مقدار را به کامبوباکس در اکسل اضافه می کند به عبارت دیگر میتوان گفت value در کامبوباکس اکسل میباشد.
هر چیزی که بعد از AddItem بین علامت نقل قول قرار دهید همان مقادیر مربوط به value میباشد که به لیست اضافه می شود.
اگر فهرست بزرگی دارید، این روش دست و پا گیر است، اما احتمالاً بصری ترین و ساده ترین روش برای درک ایجاد کامبوباکس در اکسل این روش است.
روش سوم کامبوباکس در یوزرفرم اکسل
این روش برای ایجاد کامبوباکس در اکسل پیشرفته تر است اما خیلی پیچیده نیست.
برای لیست های بزرگتر استفاده از این روش پیشنهاد میشود. این روش از ایجاد لیست کشویی در اکسل نیاز به کد VBA دارد که این کد همان طور که در بخش اول در بالا توضیح دادیم باید در همان مکان قرار گیرد.
ComboBox1.List = Array("Item 1", "Item 2", "Item 3", "Item 4")
ComboBox1 نام کامبوباکسی است که میخواهیم آن را با مقادیر پر کنیم. نام ComboBox در پنجره Properties در بالا یافت می شود و (Name) نامیده می شود.
.List موارد را از آرایه اضافه می کند.
آرایه تابعی است که برای ایجاد آرایه ای از آیتم ها برای لیست استفاده می شود. اگر این گیج کننده به نظر می رسد، نگران آن نباشید، فقط دستورات مثال بالا را دنبال کنید.
نکته ای در مورد ایجاد آرایه
این مثال از یک آرایه برای پر کردن لیست استفاده می کند. راه های زیادی برای ایجاد یک آرایه وجود دارد و برخی از آنها برای لیست های طولانی بهتر از دیگران کار می کنند.
در اینجا یک مثال است که مانند مورد آخر کار می کند، فقط با کمی کد اضافی تا بتوانیم آرایه را به شیوه ای بصری بصری تر بسازیم، امیدوارم.
'Put values into an array
myArray = Split("Item 1;Item 2;Item 3;Item 4", ";")
'Add the array to the ComboBox
ComboBox1.List = myArray
از تابع Split برای تبدیل مقادیر داخل پرانتز به آرایه استفاده می کنیم و برای جدا کردن هر آیتم در لیست از ; استفاده می کنیم.
نکته مهم این روش این است که شما مجبور نیستید اطراف هر مورد را علامت نقل قول قرار دهید.
اگر میخواهید به صورت اصولی کار با نرم افزار های حسابداری را یاد بگیرید میتوانید در دوره های آموزش حسابداری آموزشگاه ما شرکت کنید تا با دریافت مدرک بین المللی فنی و حرفه ای به سرعت وارد بازار کار شده و کسب درآمد کنید.
روش چهارم ایجاد لیست کشویی در اکسل
در این روش از ایجاد لیست کشویی در اکسل شما باید از ابزار Data Validation استفاده کنید.
- برای این کار شمابایدمحدوده ای در شیت اکسل را در حالت انتخاب قرار دهید.
- در مرحله دوم باید از نوار ابزار بالا گزینه Data را انتخاب کرده و با انتخاب گزینه Data Validation در پنجره باز شده اقدامات زیر را انجام دهید.

- تب setting را باز کنید و در قسمت Allow مقدار را روی List تنظیم کنید و دکمه OK را بزنید.
- در مرحله آخر محدوده انتخابی شما مانند شکل زیر میشود و شما میتواید از لیست کشویی ایجاد شده در اکسل تان استفاده کنید.


- گاهی ممکن است بخواهید مقادری لیست کشویی در اکسل از محدوده خاصی از سلول های اکسل فراخوانی شوند. برای این کار باید مجددا همین پنجره Data Validation را باز کنید و سلول های مورد نظرتان را فراخوانی کنید. در نهایت با انتخاب OK تغییرات ایجاد شده را ذخیره کنید.


ساخت لیست کشویی به هم وابسته اکسل
گاهی ممکن است بخواهید چندین لیست کشویی در اکسل داشته باشید که به هم وابستکگی داشته باشند. این وابستگی به این معنی است که با تغییر مقادیر یک لیست کشویی لیست کشویی دیگر هم تغیر کند.
- برای ساخت لیست کشویی به هم وابسته در اکسل شما باز هم باید محدوده مورد نظرتان را انتخاب کنید.

- در مرحله بعدی باید مانند روش قبلی گفته شده از نوار ابزار بالا گزینه Data را انتخاب کرده و با انتخاب گزینه Data Validation در پنجره باز شده تب setting را باز کنید و در قسمت Allow مقدار را روی List تنظیم کنید و دکمه OK را بزنید.

- نتیجه این مرحله مانند شکل زیر خواهد بود و شما یک لیست مانند لیست کشویی گفته شد در روش چهارم ساخته اید. در واقع کار ما از مرحله بعد شروع میشود.

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

- در مرحله بعد باید مجددا به مسیر Data > Data Validation بروید و بخش Allow را روی List قرار داده و در بخش Source کد زیر را قرار دهید.


- در نهایت بر روی کلیک کنید تا تغییرات ذخیره شود.

در این حالت لیست کشویی وابسته شما ساخته شده و اگر شما درلیست اول تغییری دهید مقادیر لیست دوم هم وابسته به لیست اول تغییر میکنند.
حذف کامبوباکس در اکسل
برای حذف کامبوباکس در اکسل باید از دستورات آفست استفاده کنیم که دراین صورت میتوانیم یک لیست پویا به لیست کشویی خود در اکسل اضافه کنیم.
اگ بخواهید از سلول ها برای حذف کامبوباکس در اکسل استفاده کنید دیگر نیازی به تشکیل جدول نیست و یمتوان با دستورات افست ارتباط بین کامبوباکس برقرار کرد.
جمعبندی
ما در این مقاله تلاش کردیم نحوه ساخت لیست کشویی در اکسل را به طور کامل آموزش دهیم و نحوه مقدار دهی به کمبو باکس در اکسل را به روش های مختلف در این مقاله بررسی کردیم.
اگر سوالی در زمینه ایجاد کامبوباکس در یوزرفرم اکسل دارید که در این مقاله پاسخ داده نشده است میتوانید در قسمت نظرات بپرسید تا کارشناسان ما در کوتاهترین زمان پاسخ شما را بدهند.
مقالات مرتبط:
تابع CHOOSE در اکسل
تابع ERROR.TYPE در اکسل
ایجاد آلارم چشمک زن در اکسل
تبدیل تاریخ شمسی به میلادی در اکسل
سوالات متداول
در این مقاله روش های مختلف ایجاد لیست کشویی در اکسل را بهصورت تصویری به شما آموزش داده ایم.
در این مقاله روش های مختلف ایجاد لیست کشویی را با استفاده از کدنویسی و بدون نیاز به کدنویسی را توضیح داده ایم.