لیست کردن نام شیت ها در ComboBox با کد ساده VBA

لیست کشویی با combobox

اگر شما درحال طراحی یک فرم یا یک نرم افزار هرچند ساده هستید شاید برای شما جالب باشد بدانید چطور می شود با لیست کردن نام شیت ها در ComboBox و لینک آنها در یک شیت مبدا، خیلی سریع بین تعداد زیادی از شیت ها جابجا شد.ما اینجا قصد داریم با چند دستور بسیار ساده VBA عمل جابجایی بین شیت هارو بسیار ساده و راحت تر کنیم.

اهداف آموزش لیست کردن نام شیت ها در ComboBox :

  • نحوه ایجاد ComboBox
  • نحوه لیست کردن شیت ها در ComboBox با حلقه For … Next
  • لینک شیت ها به یکدیگر از طریق ComboBox

نحوه ایجاد ComboBox :

برای لیست کردن نام شیت ها در ComboBox بصورت یک لیست کشویی لازم است ابتدا یک کمبوباکس در شیت دلخواه ایجاد کنیم.برای اینکار از تب Developer و گروه مربوط به Controls ، از داخل Insert و گروه ActiveX Controls روی گزینه ComboBox یکبار کلیک چپ کنید و به داخل شیت رفته و یکبار دیگر کلیک چپ کنید تا کمبوباکس ایجاد شود.

حتما بخوانید:   محاسبه اضافه کاری و ساعت تاخیر در اکسل+دانلود فایل

برای مثال من کمبوباکس را در شیتی به نام MainPage مانند شکل شماره1 ایجاد کردم.

آموزش ایجاد combobox در شیت اکسل
شکل شماره 1 – نحوه ایجاد combobox در شیت اکسل

نحوه لیست کردن نام شیت ها در ComboBox با حلقه For … Next :

اکنون در قسمت پایین اکسل روی نام شیتی که کمبوباکس را ایجاد کردیم کلیک راست نموده و گزینه View Code را بزنید تا وارد محیط کدنویسی شوید.سپس مطابق شکل شماره2 از بالای صفحه کدنویسی، لیست سمت چپ را روی Worksheet و لیست سمت راست را روی Activate تنظیم کنید.با اینکار دو خط کد بصورت اتوماتیک ایجاد می شود.

حالا یکی از کدهای زیر را مطابق شکل شماره 2 بین اون دو خط کد کپی کنید.

روش اول کدنویسی لیست کردن :

روش دوم کدنویسی لیست کردن :

کدنویسی مربوط به لیست کردن نام شیت ها در combobox
شکل شماره 2 – کدنویسی مربوط به لیست کردن نام شیت ها در combobox

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

لیست کردن نام شیت ها در ComboBox
شکل شماره 3 – انتخاب نام شیت موردنظر از بین شیت های موجود در لیست

لینک شیت ها به یکدیگر از طریق ComboBox :

خب کاری که ما تا اینجا انجام دادیم این بود که نام شیت هارو داخل کمبوباکس لیست کردیم.حالا کاری که می خواهیم انجام بدهیم این است که کاری کنیم که کاربر با انتخاب نام شیت از لیست، همان شیت خیلی سریع برای ما باز شود.برای اینکار ابتدا از تب Developer روی گزینه Design Mode کلیک کنید تا فعال شود.

حتما بخوانید:   جمع اعداد متنی در اکسل با ترفند تابع Evaluate

اکنون روی کمبوباکسی که ایجاد کرده بودیم کلیک راست کرده و گزینه View Code رو بزنید تا وارد محیط کدنویسی شوید.حالا مطابق شکل شماره4 از بالای صفحه کدنویسی، لیست سمت چپ را روی ComboBox1 و لیست سمت راست را روی Change تنظیم کرده و کدهای زیر رو مطابق شکل شماره 4 وارد کنید.

انتقال سریع بین شیت ها از طریق combobox
شکل شماره 4 – انتقال سریع بین شیت ها از طریق combobox

مساله ای که اینجا وجود داره این هست که ممکنه زمان انتخاب مجدد شیت MainPage دچار خطا بشید.برای اینکه این خطا اتفاق نیوفته کد بالایی رو بصورت زیر اصلاح می کنیم:



منبع :

https://support.office.com

اشتراک گذاری:
مطالب زیر را حتما بخوانید

پاسخی بگذارید