ساخت Combo box (کمبو باکس) با مقادیر متغیر در اکسل

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

ساخت Combo box یا صحیح تر بگوییم Drop Down list در Excel توسط Data Validation برای سلولها انجام می‌شود اما موضوع این مقاله ساخت Combo box ای است که کاربر بتواند به راحتی مقادیر آنرا کم یا زیاد کند و لازم نباشد که به صورت دستی این کار انجام شود به عبارت دیگر بتواند مقادیر لیست Combo box را به راحتی کنترل نماید. 
قبل از هر کار ابتدا باید شما با ابزار بسیار مفیدی در Excel 2007 آشنا شوید به نام Table و بدانید که Table یک محدوده پویا ست یعنی Dynamic Range است. 
منظور از محدوده پویا در Excel ، آدرس هایی است که با یک نام شناخته می شوند و شما به جای نوشتن آدرس سلول Excel از آن نام استفاده می نمایید. 
برای ساخت یک محدوده پویا در Excel 2007 – 2010 از ابزار Table استفاده می‌شود. فرض کنید که در یک شرکت شما 5 انبار دارید که کاربر قرار است در لیست ورود کالا، یکی از انبارهای را انتخاب نماید. 
مطابق شکل اسامی انبارها را در یک Sheet جداگانه از  Sheet لیست ورود انبار وارد نمایید و سپس یکی از سلولهای را کلیک کنید و کلید Ctrl+T را بزنید تا این لیست به Table تبدیل شود.

 

 

 
بعد از اینکه Table شما در Excel آماده شد باید یک Name تعریف کنید و منبع Name به ستون "نام انبارها" اشاره کند. 
برای اینکار از سربرگ Formula گزینه Define Name را بزنید. 
در قسمت Name یک اسم دلخواه تعیین کنید مثلا MyStock  (اسم فارسی نگذارید و از Space هم استفاده نکنید). 
در قسمت Refer To با دقت بسیار سلولهایی که نام انبارها در آن نوشته شده است را با Drag موس انتخاب کنید . (سر ستون انتخاب نشود) 
و در نهایت کار شما باید نتیجه ای مانند شکل را بدهد و OK را بزنید.
به Sheet "لیست کالا" بروید و در صورت تمایل می توانید این لیست را نیز به صورت یک Table در آورد و از مزایای Table استفاده کنید . 
سلول یا سلولهای ستون "نام انبار" را انتخاب نمایید. 
از سربرگ Data گزینه Validation را بزنید . 
در پنجره Data Validation گزینه List را انتخاب نمایید و سپس در قسمت Source این پنجره Name تعریف شده در مرحله قبل را همراه با علامت  = وارد نمایید و کلید OK را بزنید: 

 

حال در سلولهای نام یک Combo Box دارید که اسامی انبارها را نشان می دهد، اگر شما در Table "نام انبارها" گزینه ای را اضافه کنید و یا سطری را Delete نمایید متوجه می شوید که این Combo box خودکار به روز می شود .

شما هم تجربه یا دیدگاه خود را بنویسید:

محتوای این فیلد خصوصی است و به صورت عمومی نشان داده نخواهد شد.

متن ساده

  • تگ‌های HTML مجاز نیستند.
  • خطوط و پاراگراف‌ها بطور خودکار اعمال می‌شوند.
کد امنیتی
Mohsen53 (تایید نشده) در تاریخ سه شنبه, 1402/02/19 - 09:18 نوشته:

بسیار عالی، سپاسگزارم

خوبانی (تایید نشده) در تاریخ چهارشنبه, 1400/08/26 - 10:34 نوشته:

عالی بود واقعا ممنون
بسیار کارامد

محمد وحیدطاری (تایید نشده) در تاریخ پنجشنبه, 1400/03/20 - 11:11 نوشته:

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

علی سعادتی (تایید نشده) در تاریخ چهارشنبه, 1400/03/19 - 14:05 نوشته:

خوب توضیح داده شده بود. متشکرم

اصغرزاده (تایید نشده) در تاریخ یکشنبه, 1399/08/25 - 11:39 نوشته:

بسیار عالی و سپاس فراوان

علیزاده (تایید نشده) در تاریخ چهارشنبه, 1398/11/23 - 13:31 نوشته:

سلام. خیلی خیلی خیلی عالی و کاربردی بود.

حسین (تایید نشده) در تاریخ جمعه, 1398/10/13 - 01:14 نوشته:

عالی بود ممنون

Ati (تایید نشده) در تاریخ سه شنبه, 1396/10/12 - 11:44 نوشته:

سلام من اینکارو میکنم و ذخیره میکنم ازش میام بیرون. بعد اکسل باز میکنم همش میپره
. از اول باید باز انجامش بدم . چرا؟
ووردم 2010 هستش . دلیلش چیه؟

فرشید میدانی در تاریخ چهارشنبه, 1396/10/13 - 08:18 نوشته:

اینگونه نباید باشد، مشکل جای دیگری است.

hanieh azad (تایید نشده) در تاریخ چهارشنبه, 1396/04/21 - 14:56 نوشته:

با سلام

من یک فایل اکسل دارم با این نکاتی که شما آموزش دادید خیلی زیبا و کار کردن باهاش راحت شد.

فقط در اکسلی که آماده کردم تاریخ هم باید ثبت بشه. خیلی لیست طولانی شده وقتی تاریخ رو دستی نوشتم.

چه راه بهتری هست که تاریخ زیباتر و راحتتر بشه انتخاب کرد. مثلا بشه Calendar باز بشه.؟

فرشید میدانی در تاریخ چهارشنبه, 1396/10/13 - 08:22 نوشته:

این تکنیک اصلا برای تاریخ ها کاربردی ندارد و معمولا کسی این کار را انجام نمی دهد. تاریخ ها را کاربر باید تایپ کند. بهتر است برای تاریخ شمسی یک data validataion از نوع whole number و بین مثلا عدد 950101 تا 970101 قرار دهید تا اشتباهات تایپی کاربر به حداقل برسد.
در اکسل date picker (انتخابگر تاریخ) نداریم و معمولا انتخابگر ها کار تایپ و ورودی اطلاعات را کمی هم کند می کنند زیرا باید با موس انتخاب شوند و ... و معمولا در نرم افزارها آنچنان متداول نیست و حتی در مواردی هم که وجود دارد، کاربران ترجیج می دهند که تاریخ را دستی تایپ کنند.

مرضیه صالحی (تایید نشده) در تاریخ دوشنبه, 1396/02/11 - 09:51 نوشته:

خیلی کمکم کرد. ممنون 

رضا (تایید نشده) در تاریخ جمعه, 1394/12/14 - 14:13 نوشته:

مرسی واقعا عالی بود 

خیلی زیبا و کامل توضیح داده شده بود.

موفق باشید

بهزاد (تایید نشده) در تاریخ شنبه, 1394/11/17 - 13:39 نوشته:

با درود

ذکات علم آموختن آن است

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

اجرکم عندا..

بهمن آتش زبان (تایید نشده) در تاریخ چهارشنبه, 1394/08/20 - 11:09 نوشته:

  مطلب مذکور به سوال ذهنی دیرینه‌ی من پاسخ داد. و باعث گردید فرمهای اداری مورد نظر خود را ساماندهی نموده و اعتبار دهی اولیه به سلولها را با ضریب اطمینان فوق العاده بالا انجام دهم. پیشنهاد بنده این است که راهکار مخفی نمودن شیتی که به عنوان لیست انتخاب میشود را در اختیار علاقمندان قرار گیرد. به این شیوه ضریب امنیت اطلاعات بالا خواهد رفت . شاید هم اینکار را انجام داده باشید.

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

 

حسام (تایید نشده) در تاریخ چهارشنبه, 1394/05/21 - 21:57 نوشته:

واااااااااااااااااای خیلی عالی بود.من توی اکسس این کارو میکردم همش دنبال این کار توی اکسل بودم خیلی ممنونم.فقط یه سوال چطور میشه combo رو شرطی کرد یعنی وقتی مثلا انبار تبریز رو انتخاب میکنی بره توی یه شیت خاص؟

ممنون میشم جواب بدین

میثم (تایید نشده) در تاریخ یکشنبه, 1393/12/10 - 20:56 نوشته:

عاااااااااااااااااااااااااااااااااااااااااااالی

دمتون گرم.

فرشید (تایید نشده) در تاریخ پنجشنبه, 1393/11/09 - 11:07 نوشته:

یاشااااااااااااااااااااااا

l (تایید نشده) در تاریخ چهارشنبه, 1393/07/02 - 16:51 نوشته:

خيلي ممنونم

 

بسيار مفيد و كارا

 

خصوصا به خاطر داشتن تصوير

اسماعیل (تایید نشده) در تاریخ چهارشنبه, 1393/06/26 - 01:03 نوشته:

سپاس گذارم 

 

ali sa (تایید نشده) در تاریخ سه شنبه, 1393/06/18 - 11:56 نوشته:

خیلی عالی

ملیحه (تایید نشده) در تاریخ سه شنبه, 1393/06/04 - 10:18 نوشته:

فوق العاده بود مرسی .

rebwar (تایید نشده) در تاریخ دوشنبه, 1393/04/16 - 14:45 نوشته:

عالی بود ممنون

mojji (تایید نشده) در تاریخ پنجشنبه, 1393/04/12 - 14:35 نوشته:

salam . . . mamnun vaqean . . . khili khub tozih dadin . . . 10000000000000000000 LIKKKKKKKKKKKKKKKKKKKKKKK