ایجاد لیست شیت ها در ComboBox اکسل با دستورات VBA
کاری که ما تو این آموزش قراره انجام بدیم این است که بتونیم نام شیت هارو داخل یک کمبوباکس لیست بکنیم و با انتخاب نام شیت از لیست شیت ها، همون شیت برامون فعال بشه.
برای اینکار ما دو مرحله باید کدنویسی انجام بدیم:
۱- مرحله اول نام شیت هارو داخل ComboBox لیست کنیم.
۲- فعال شدن شیت موردنظر با انتخاب از لیست کشویی.
۱. ایجاد لیست شیت ها داخل ComboBox :
ابتدا به تب Developer برید سپس از گروه Controls و از قسمت Insert و از دسته ActiveX Controls یدونه ComboBox ایجاد کنید.
بعد از ایجاد ComboBox روش دبل کلیک کنید تا وارد محیط کدنویسی VBA بشید. سپس مطابق تصویر زیر لیست سمت چپ رو روی Worksheet و لیست سمت راست رو روی Activate قرار بدید. سپس کدهای زیر رو در محیط کدها بنویسید
ComboBox1.Clear For wsheet = 1 To Sheets.Count ComboBox1.AddItem Sheets(wsheet).Name Next
در کد بالا خط اول (ComboBox1.Clear) ابتدا لیست های قبلی رو پاک می کنه و ادامه کدها مجدد لیست شیت هارو داخل ComboBox1 لیست می کنه. اکنون هر موقع شیتی که کمبوباکس رو داخلش قرار دادیم انتخاب بشه کدها اجرا شده و اسم شیت ها لیست میشه.
۲. فعال شدن شیت موردنظر هنگام انتخاب از ComboBox :
اکنون وقتی نام شیت موردنظر از لیست کشویی انتخاب شد باید همون شیت فعال بشه. برای اینکار کافیه کدهای زیر رو در رویداد Change مربوط به ComboBox قرار بدید.
If Not ComboBox1.Text = "" Then Sheets(ComboBox1.Text).Select End If
در کد بالا ابتدا بررسی میشه که اگر مقدار کمبوباکس خالی نبود میاد شیت موردنظر رو انتخاب می کنه.
نکته:
موقع کدنویسی حتما حالت Design Mode فعال باشه و اگر خواستید کد رو اجرا کنید حالت Design Mode رو غیرفعال کنید.
درباره جاوید
عاشق اکسل هستم و بیش از 12 ساله دارم اکسل کار می کنم. در این مسیر آموزش ها و فایل های حرفه ای ارائه دادم و همچنان در این مسیر با علاقه پیش میرم چون امروزه اکسل به یک مهارت انکار نشدنی تبدیل شده
سایر نوشته های جاوید
دیدگاهتان را بنویسید