فهرست مطالب
بسته به شرایط ممکن است لازم باشد چندین مقدار را در یک لیست کشویی انتخاب کنید. در این آموزش، ما به شما نشان می دهیم که چگونه در یک لیست کشویی انتخاب چندگانه انجام دهید. برای این جلسه، ما از اکسل 2019 استفاده میکنیم، از نسخه دلخواه خود استفاده کنید.
قبل از ورود به جلسه، بیایید با مجموعه دادهای که پایه مثالهای ما است، آشنا شویم.
در اینجا ما چندین عنصر لوازم التحریر داریم، با استفاده از آنها یک لیست کشویی ایجاد می کنیم و چندین مورد را در آنجا انتخاب می کنیم.
توجه داشته باشید که یک مجموعه داده ساده برای ساده نگه داشتن کارها است. . در یک سناریوی عملی، ممکن است با یک مجموعه داده بسیار بزرگتر و پیچیده روبرو شوید.
کتاب تمرین تمرین
از لینک زیر می توانید کتاب تمرین تمرین را دانلود کنید.
انتخاب چندگانه از Drop Down List.xlsm
انتخاب چندگانه در لیست کشویی
ابتدا، ما باید یک لیست کشویی بر اساس لوازم التحریر ما بیایید آن را به سرعت ایجاد کنیم. در بازدید از مقاله مربوط به ساخت یک لیست کشویی تردید نکنید.
در کادر محاوره ای Data Validation نوع داده LIST را انتخاب کرده و درج کنید محدوده سلولی آیتم ها.
B4:B11 محدوده ای است که عناصر نوشت افزار را در خود جای می دهد. اکنون لیست کشویی را پیدا خواهید کرد.
بیشتر بخوانید: لیست کشویی اکسل بسته به انتخاب
1. انتخاب کنیدچندین مورد (انتخاب تکراری را می دهد)
یک لیست کشویی معمولی همیشه یک مورد را انتخاب می کند. در اینجا می توانید ببینید، ما Pen را از لیست (تصویر زیر) انتخاب کرده ایم.
حالا، اگر مورد دیگری را انتخاب کنیم، فرض کنید Pencil
سپس جایگزین مقدار قبلی می شود. فقط Pencil انتخاب شده باقی می ماند.
برای انتخاب چندین مورد، باید از کد VBA استفاده کنیم. پنجره Microsoft Visual Basic for Applications را باز کنید ( ALT + F11 را فشار دهید تا باز شود).
اکنون روی نام یا شماره کاربرگ که می خواهید انتخاب کنید دوبار کلیک کنید. چندین مورد در لیست کشویی شما پنجره کد را برای آن برگه خاص پیدا خواهید کرد.
در اینجا، پنجره کد برای Sheet2 در کتاب کار ما است (ما کشویی را داریم لیست در این برگه).
پس از باز شدن پنجره کد، کد زیر را در آنجا وارد کنید
2856
کد را ذخیره کنید، و اکنون سعی کنید مقادیر را انتخاب کنید. در لیست کشویی.
پس از انتخاب مداد ، می خواهیم مورد دیگری Notebook را انتخاب کنیم. و می توانید ببینید، ما هر دو مورد را پیدا کردیم (تصویر زیر).
این کد به ما امکان می دهد انتخاب را تکرار کنیم. فرض کنید اگر دوباره Pencil را انتخاب کنیم،
ما دوباره مورد را در کادر انتخاب پیدا خواهیم کرد.
توضیح کد
دو رشته Oldvalue و Newvalue .
می توانید ببینید که ما لیست کشویی را در سلول D4 ایجاد کردیم، به همین دلیل آدرس هدف ما D4 است. و بهعلاوه، دوباره بررسی کردهایم که آیا سلول از اعتبارسنجی داده استفاده میکند یا نه از Target.SpecialCells استفاده میکند.
پس از انتخاب یک مقدار، رویدادها ( Application.EnableEvents = False
) را خاموش کردیم، بنابراین تغییرات انجام نمیشود. رویداد را دوباره آغاز کنید. سپس مورد انتخاب شده را در Newvalue ذخیره کرد.
پس از لغو تغییر، مقدار را در Oldvalue قرار دادیم. سپس بررسی کنید که آیا Oldvalue خالی است یا خیر. اگر خالی باشد (به این معنی است که فقط یک مقدار انتخاب شده است)، سپس Newvalue را برگردانید. در غیر این صورت، Oldvalue و Newvalue را به هم الحاق کنید.
قبل از پایان بازنشانی رویداد، تا در صورت نیاز بتوانیم آن را تغییر دهیم.
بیشتر بخوانید: فهرست بازشوی چندگانه Excel VBA
2. چندین مورد را از لیست کشویی انتخاب کنید (فقط انتخاب منحصر به فرد)
در بخش قبلی ، ما چندین انتخاب را دیدیم که در آن تکرار مجاز بود. اگر نمیخواهید، این بخش را دنبال کنید.
برای راحتی کار، از یک برگه جداگانه برای این نمایش استفاده کردیم. این بار در Sheet3 هستیم. کد زیر را در پنجره کد این برگه بنویسید.
7420
آیا تفاوتی با کد قبلی وجود دارد! نگاه دقیق تری داشته باشید، می توانید تفاوت جزئی را تشخیص دهید.
در اینجا ما از یک تابع VBA به نام استفاده کرده ایم. INSTR . تابع INSTR موقعیت اولین وقوع یک رشته فرعی را در یک رشته برمی گرداند. برای اطلاعات بیشتر از این مقاله INSTR دیدن کنید.
با استفاده از این عملیات منطقی با InStr(1, Oldvalue, Newvalue) = 0، بررسی کرده ایم که آیا مقادیر پیدا شده اند یا خیر. اگر عملیات منطقی TRUE را برگرداند (قبل از آن یافت نشد) پس اجازه می دهد مورد را انتخاب کنید و با مقدار قبلی الحاق کنید.
کد را ذخیره کنید و اکنون سعی کنید موردی را انتخاب کنید که قبلا وجود دارد. انتخاب شده است.
در اینجا ما قبلا مداد را انتخاب کرده ایم، اگر بخواهیم دوباره آن را انتخاب کنیم، نمی توانیم. اجازه مقادیر تکراری را نمی دهد.
بیشتر بخوانید: نحوه ایجاد یک لیست کشویی از برگه دیگری در اکسل
3. انتخاب کنید موارد موجود در Newline
تاکنون متوجه شدهایم که موارد با کاما از هم جدا شدهاند. در این بخش موارد انتخاب شده را در خطوط جدید مرتب می کنیم.
برای سادگی، چند سلول را با سلول D4 ادغام می کنیم. برای انجام این کار، سلول هایی را که می خواهید ادغام شوند انتخاب کنید و روی Merge & وسط از بخش تراز برگه صفحه اصلی .
سلول ارتفاع بیشتری به دست خواهد آورد.
اکنون، بیایید به کد جداسازی موارد از طریق خط جدید نگاه کنیم. از کد زیر استفاده کنید
6377
تنها تفاوت با کد قبلی این است که این بار از vbNewLine در بین OldValue و NewValue .
vbNewLine یک خط جدید بین موارد ارائه می دهد.
اکنون موارد را انتخاب کنید.
ما یک آیتم قلم را انتخاب می کنیم که در تصویر بالا نشان داده شده است. اکنون عنصر دیگری را انتخاب کنید.
میبینید که این دو مورد در خطوط مختلف قرار دارند.
در اینجا دو مورد داریم. مقادیر، که در دو خط متفاوت هستند. انتخاب مقدار دیگری آن را به خط دیگری اضافه می کند. هر مقدار در یک خط جدید قرار می گیرد.
توجه داشته باشید که اگر می خواهید جداکننده دیگری موارد را از هم جدا کند، از آن در داخل گیومه های دوبل به جای vbNewline<10 استفاده کنید>.
نتیجه گیری
این همه برای امروز است. ما چندین روش برای انتخاب چندگانه در یک لیست کشویی فهرست کرده ایم. امیدوارم که این برای شما مفید باشد. اگر درک چیزی به نظر دشوار می رسد، می توانید نظر خود را بیان کنید. هر روش دیگری را که در اینجا از قلم انداخته ایم به ما اطلاع دهید.