3 کمبوباکس وابسته به هم در UserForm

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • a.dal65

    • 2011/04/29
    • 384
    • 67.00

    [حل شده] 3 کمبوباکس وابسته به هم در UserForm

    با درود

    دوستان 3 تا کمبو باکس دارم که به هم وابسته هستن و میخوام از توی Userform کار کنه و دیتاشو از رنج ستون ها بگیره (البته اگه شدنش سخته و پیچیده میشه 2 تا کمبوباکس اول رو میشه با AddItem توی UserForm اضافه کرد ولی سومی رو نه)

    مثلا میخوام وقتی کشور رو ایران انتخاب کردم تو کمبوباکس استان ، استان های ایران بیاد و بعد از انتخاب یه استان شهرستان های اون استان تو کمبوباکس بعدی بیاد .
    فایل های پیوست شده
  • Ali Parsaei
    مدير تالارتوابع اکسل

    • 2013/11/18
    • 1522
    • 71.67

    #2
    سلام،
    کشور و استان را به عنوان مثال گفتيد؟ يا اينکه هر چيز ديگه اي ممکن است باشد؟
    [SIGPIC][/SIGPIC]

    کامنت

    • a.dal65

      • 2011/04/29
      • 384
      • 67.00

      #3
      بله بعنوان مثال بود .
      توی چیزی که من میخوام در مورد انبار بود ،اول توضیحاتویکه نوشتم دیدم گیچ کننده شد بعد در این قالب عنوان کردم برای فهم راحتتر

      کامنت

      • misammisam
        مدير تالار حسابداری و اکسل

        • 2014/04/04
        • 892
        • 64.00

        #4
        اتفاقا تو انبار آسونتره چون اونجا کالاها کد بندی میشن بهتر میشه رابطه برقرار کرد ، با توجه به همین فایلتون باید اینطوری بزنید .شاید راه آسونتریم باشه ولی همین بنظر من رسید .
        کد PHP:
        Private Sub ComboBox1_Change()
        ComboBox2.Clear
        ComboBox3
        .Clear
        lastrow_Table 
        Sheet1.Range("a:o").Cells.Find("*"SearchOrder:=xlByRowsSearchDirection:=xlPrevious).Row
        For 2 To lastrow_Table
        cell_B_active 
        Sheet1.Range("b" i).Value
        tedad 
        Application.WorksheetFunction.CountIf(Sheet1.Range("b1:b" i), cell_B_active)
        If (
        Range("A" i) = ComboBox1.Value And tedad 1Then
        ComboBox2
        .AddItem (Range("B" i).Value)
        End If
        Next i
        End Sub


        Private Sub ComboBox2_Change()
        On Error Resume Next
        ComboBox3
        .Clear
        lastrow_Table 
        Sheet1.Range("a:o").Cells.Find("*"SearchOrder:=xlByRowsSearchDirection:=xlPrevious).Row
        For 2 To lastrow_Table
        cell_C_active 
        Sheet1.Range("C" i).Value
        tedad 
        Application.WorksheetFunction.CountIf(Sheet1.Range("C1:C" i), cell_C_active)
        If (
        Range("A" i).Value ComboBox1.Value And Range("B" i).Value ComboBox2.Value And tedad 1Then
        ComboBox3
        .AddItem (Range("C" i).Value)
        End If
        Next i
        End Sub

        Private Sub UserForm_Initialize()
        On Error Resume Next
        lastrow_Table 
        Sheet1.Range("a:o").Cells.Find("*"SearchOrder:=xlByRowsSearchDirection:=xlPrevious).Row
        For 2 To lastrow_Table
        cell_A_active 
        Sheet1.Range("A" i).Value
        tedad 
        Application.WorksheetFunction.CountIf(Sheet1.Range("a1:a" i), cell_A_active)
        If (
        tedad 1Then
        ComboBox1
        .AddItem (Range("A" i).Value)
        End If
        Next i
        End Sub 
        فایل های پیوست شده
        [CENTER][SIGPIC][/SIGPIC]
        [/CENTER]
        [CENTER][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][INDENT]
        [CENTER][SIZE=3][URL="https://affstat.adro.co/click/adf04053-f8a6-439a-9ac4-e6a7e6f4b455"][B]اينجا كليك نكنيا ![/B][/URL][/SIZE]
        [/CENTER]
        [/INDENT]

        [/FONT][/FONT][/FONT][/FONT][/FONT]
        [/CENTER]

        کامنت

        • Ali Parsaei
          مدير تالارتوابع اکسل

          • 2013/11/18
          • 1522
          • 71.67

          #5
          يک روشي هم من به نظرم رسيد بد نيست اون را هم بنويسم:
          تمام مقادير ستون a را در کمبوبکس اول بار گيري مي کنيم ـ ـ بعد موارد تکراري اش را حذف مي کنيم
          تمام مقادير ستون b را در کمبوبکس دوم بارگيري مي کنيم به شرط اينکه هم ارز آن در ستون a مقدار انتخابي در کمبوبکس يک باشد ـ ـ بعد موارد تکراري اش را حذف مي کنيم
          تمام مقادير ستون c را در کمبوبس سوم بارگيري مي کنيم به شرط اينکه هم ارز آن در ستون b مقدار انتخابي در کمبوبکس دو باشد ـ ـ بعد موارد تکراري اش را حذف مي کنيم

          فایل های پیوست شده
          [SIGPIC][/SIGPIC]

          کامنت

          • a.dal65

            • 2011/04/29
            • 384
            • 67.00

            #6
            ممنونم از هر دو عزیز بابت زحمت و وقتی که گذاشتین.


            در حالتی که همه اطلاعات متن باشن هر دو فایل درست کار میکنه ولی اگه بجای استان ها عدد وارد کنم دیگه تو کمبو باکس بعدی نمیاره .
            و فایلی که آقای پارسایی زحمتشو کشیدن در حالت فیلتر کردن جدول هم کار میکنه ممنون میشم اگه با اعداد هم کار کنه (استان عدد هم میتونه باشه)

            کامنت

            • Ali Parsaei
              مدير تالارتوابع اکسل

              • 2013/11/18
              • 1522
              • 71.67

              #7
              مقدار کمبوبکس ها را value نوشته بودم ولي بايد text باشد، فرضا" به جاي combobox1.value بايد مينوشتم combobox1.text
              ببينيد درست شد؟:
              فایل های پیوست شده
              [SIGPIC][/SIGPIC]

              کامنت

              چند لحظه..