انتخاب چندگزینه از لیست کشویی در اکسل

4
بدون دیدگاه
انتخاب چند گزینه از لیست کشویی

همانطور که می دانید در اکسل می توان با استفاده از ابزار Data Validation لیست های کشویی (Dropdown List) ایجاد کرد و به کاربر امکان انتخاب از میان گزینه های از پیش تعیین شده را داد. در حالت عادی هر بار تنها یک گزینه از لیست کشویی را می توان انتخاب کرد اما گاهی اوقات نیاز است که کاربر چند گزینه را از لیست انتخاب نماید برای مثال انتخاب چند روز هفته یا انتخاب رشته های ورزشی مورد علاقه و … که به واسطه کارتون به آن نیاز دارید. در اینجا می خواهیم به روشی ساده امکان انتخاب چند گزینه از لیست کشویی در اکسل را فراهم کنیم. با ما همراه باشید.

ساخت منوی کشویی با امکان انتخاب چند گزینه

جهت ساخت لیست کشویی با امکان انتخاب چند گزینه در اکسل از کدنویسی استفاده می شود. برای اینکار فایل اکسل خود را باز کنید و با استفاده از ابزار Data Validation در یکی از سلول ها منوی کشویی ایجاد نمایید. سپس همانند تصویر از روی نام sheet کلیک راست کرده و گزینه View Code را انتخاب کنید تا محیط کد نویسی آن باز شود.

گزینه view code

حال کد های ذیل را در این قسمت وارد نمایید:

Option Explicit
     '============== Sheet1.ir ================
Private Sub Worksheet_Change(ByVal Target As Range)
    'آدر سلول يا سلول هاي داراي ليست کشويي
    If Target.Address = "$B$9" Then
        Dim Old_txt, New_txt, Sep_txt As String
        With Application
           'کاراکتر جداکننده بين گزينه ها
           Sep_txt = " " & Chr(124) & " "
           'لغو عمليات در زمان حذف محتواي سلول ليست کشويي
          If Target.Value = "" Then Exit Sub
          'غير فعال کردن نمايش پيغام هاي اکسل
          .EnableEvents = False
          'کنترل خطا : درزمان ورود مواردي غير از آيتم هاي ليست کشويي
          On Error GoTo onErr2
          '
           New_txt = Target.Value & Sep_txt
           .Undo
           Old_txt = Target.Value
           '
           'کنترل وجود آيتم تکراري
           On Error GoTo onErr1
           If .WorksheetFunction.Search(New_txt, Old_txt) > 0 Then
               Target.Value = .WorksheetFunction.Substitute(Old_txt, New_txt, "")
               .EnableEvents = True
                Exit Sub
           End If
onErr1:
           Target.Value = Old_txt & New_txt
onErr2:
           'فعال کردن نمايش پيغام هاي اکسل
             .EnableEvents = True
       End With
    End If
End Sub

نتیجه همانند تصویر ذیل خواهد بود.

دقت کنید که در خط 5 کد بالا به جای 9$B$ آدرس سلولی که منوی کشویی را ساخته اید وارد نمایید. حال به محیط اکسل باز گردید و منوی کشویی را امتحان کنید. خواهید دید که با انتخاب هر گزینه، آن گزینه به محتوای سلول اضافه می شود. برای حذف یک گزینه از محتوای سلول نیز کافی است دوباره آن گزینه را از لیست انتخاب کنید. به همین سادگی امکان انتخاب چند گزینه از لیست کشویی را فراهم کردید.

در صورتی که در چند سلول لیست کشویی ایجاد کرده اید باید آدرس تمام آن سلول ها را به خط 5 کد بالا اضافه کنید. برای مثال فرض کنید در سلول های C10 و D12 لیست کشویی وجود دارد. در خط 5 به صورت ذیل آدرس ها را وارد کنید:

    '============== sheet1.ir ================
    If Target.Address = "$C$10" Or Target.Address = "$D$12" Then

کاراکتر جدا کننده بین آیتم ها نیز با دستور Chr در خط 9 مشخص می شود. در اینجا از Chr(124) برای گذاشتن کاراکتر | بین آیتم های انتخاب استفاده شده است. Chr عملکردی مشابه تابع  CHAR در اکسل را دارد و با وارد کردن شماره یونیکد هر کاراکتر، آن را نمایش می دهد. برای آشنایی بیشتر توضیحات توابع CHAR ، UNICHAR و UNICODE را ببینید.

نتیجه کار را در ویدیو ذیل مشاهده کنید:

مطالب مرتبط :

5 1 رای
امتیاز شما به این مطلب
guest
0 نظر / سوال
بازخورد (Feedback) های اینلاین
مشاهده تمامی نظرات
فهرست
0
خوشحال می شویم نظر شما را در مورد این مطلب بدانیمx