find اطلاعات از کامبو باکس

Collapse
This topic is closed.
X
X
 
  • زمان
  • نمایش
Clear All
new posts
  • علی فاطمی

    • 2014/02/17
    • 523

    [حل شده] find اطلاعات از کامبو باکس

    با سلام ،
    اگر دوستان فایل پیوست رو ملاحظه بفرمایند در شیت1 دو ستون وجود داره ( ردیف و عدد ) که در ستون ردیف اطلاعات تکراری وجود دارده ولی در ستون عدد خیر . اگر کامن باتن رو بزنید در یوزرفرم دوتا کامبو باکس هست که اطلاعات کامبو ردیف از ستون ردیف گرفته می شه :
    - حالا می خوام وقتی مثلا در کامبو ردیف عدد 1 قرار گرفت ، در کامبو عدد ، فقط اعدادی که روبروی عدد 1 در ستون عدد قرار دارند مشاهده بشه ( یعنی RowSource کامبو عدد در اینجا اعداد 20 تا 32 بشه ) واگر در کامبو ردیف عدد 3 قرار گرفت در کامبو عدد ، فقط اعدادی که روبروی عدد 3 در ستون عدد قرار دارند مشاهده بشه ( یعنی RowSource کامبو عدد در اینجا اعداد 40 تا 46 بشه )
    - حالا وقتی کامبو عدد اطلاعاتش انتخاب شد مثلا عدد 21 ، توسط کامن باتن find ، در شیت2 سلولی که عدد 21 در اون قرار داره مشاهده بشه.
    ممنون از توجه شما.
    فایل های پیوست شده
    در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان



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

    • 2014/04/03
    • 892

    #2
    سلام

    کد HTML:
    Private Sub ComboBox1_Change()
    If ComboBox1.Text = "1" Then
    ComboBox2.RowSource = Range("code_1").Name
    ElseIf ComboBox1.Text = "3" Then
    ComboBox2.RowSource = Range("code_3").Name
    End If
    End Sub
    code_1 و code_3 محدوده هايي هست كه نامگذاري شده تا اگر رديفي insert شد ، شامل محدوده بشه .
    فایل های پیوست شده
    sigpic

    کامنت

    • علی فاطمی

      • 2014/02/17
      • 523

      #3
      نوشته اصلی توسط misammisam
      سلام

      کد HTML:
      Private Sub ComboBox1_Change()
      If ComboBox1.Text = "1" Then
      ComboBox2.RowSource = Range("code_1").Name
      ElseIf ComboBox1.Text = "3" Then
      ComboBox2.RowSource = Range("code_3").Name
      End If
      End Sub
      code_1 و code_3 محدوده هايي هست كه نامگذاري شده تا اگر رديفي insert شد ، شامل محدوده بشه .
      با سلام و ممنون از توجه شما ،
      ستون های ردیف و عدد دائما در حال افزایش و یا کاهش خواهند بود با تعریف محدوده ، تغییرات لحاظ نمی شوند.

      لطفا در مورد کامن باتن find هم یه کمکی بفرمائید.
      Last edited by علی فاطمی; 2014/07/09, 09:31.
      در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان



      کامنت

      • علی فاطمی

        • 2014/02/17
        • 523

        #4
        با سلام
        دوستان این تاپیک رو ملاحظه کردین؟
        در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان



        کامنت

        • علی فاطمی

          • 2014/02/17
          • 523

          #5
          با سلام ،
          من با سعی و خطا به یه جاهایی رسیدم ، اساتید و مدیران محترم یه لطف کنن راه آماتوری بنده ( فایل پیوست ) رو ملاحظه کنن و نظر حرفه ای بدن.
          البته مشکل find همچنان پابرجاست و نتونستم کاری براش انجام بدم اگر راهنمایی بفرمائید ممنون میشم.
          فایل های پیوست شده
          در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان



          کامنت

          • Javid Mokhtari
            مدير تالار ويژوال بيسيك

            • 2012/01/16
            • 1213

            #6
            با سلام.
            در شیت2 اعداد با متن درهم هستن ؟
            ولی برای پیدا کردن میتونید از کد زیر استفاده منید...
            کد PHP:
            On Error Resume Next
            Sheet2
            .Select
            Cells
            .Find(What:=ComboBox2.TextLookIn:=xlFormulasLookAt:=xlPartSearchOrder:=xlByRows).Select 
            دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
            بیش از 60 جلسه آموزش ویدئویی رایگان

            شرکت در دوره:

            https://javidsoft.ir/courses/


            کامنت

            • علی فاطمی

              • 2014/02/17
              • 523

              #7
              نوشته اصلی توسط jansiz hayat
              با سلام.
              در شیت2 اعداد با متن درهم هستن ؟
              ولی برای پیدا کردن میتونید از کد زیر استفاده منید...
              کد PHP:
              On Error Resume Next
              Sheet2
              .Select
              Cells
              .Find(What:=ComboBox2.TextLookIn:=xlFormulasLookAt:=xlPartSearchOrder:=xlByRows).Select 
              با سلام و ممنون از توجه شما،
              بله اعداد با متن درهم هستن . کدی که نوشتین بسیار عالی بود ، با این کد اولین عدد پیدا میشه ، سوال من اینه اگر اعداد تکراری وجود داشته باشد به چه صورت خواهد بود مثلا عدد 21 دو یا سه بار تکرار شده باشد تکرار آن نیز قابل پیدا شدن است؟
              در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان



              کامنت

              • Javid Mokhtari
                مدير تالار ويژوال بيسيك

                • 2012/01/16
                • 1213

                #8
                نوشته اصلی توسط علی فاطمی
                با سلام و ممنون از توجه شما،
                بله اعداد با متن درهم هستن . کدی که نوشتین بسیار عالی بود ، با این کد اولین عدد پیدا میشه ، سوال من اینه اگر اعداد تکراری وجود داشته باشد به چه صورت خواهد بود مثلا عدد 21 دو یا سه بار تکرار شده باشد تکرار آن نیز قابل پیدا شدن است؟
                با سلام.
                شما هم از طریق یوزرفرم می توانید مقدار را در شیت2 جست و جو کنید و هم بصورت دستی مقدار را در شیت 2 در قسمت "مورد جست و جو" وارد کنید.
                درضمن فرقی نمیکند که مقدار سلول شما فقط عدد(متنی) باشد یا ترکیبی از عدد و متن.
                فایل های پیوست شده
                دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
                بیش از 60 جلسه آموزش ویدئویی رایگان

                شرکت در دوره:

                https://javidsoft.ir/courses/


                کامنت

                • علی فاطمی

                  • 2014/02/17
                  • 523

                  #9
                  نوشته اصلی توسط jansiz hayat
                  با سلام.
                  شما هم از طریق یوزرفرم می توانید مقدار را در شیت2 جست و جو کنید و هم بصورت دستی مقدار را در شیت 2 در قسمت "مورد جست و جو" وارد کنید.
                  درضمن فرقی نمیکند که مقدار سلول شما فقط عدد(متنی) باشد یا ترکیبی از عدد و متن.
                  با سلام و تشکر از اینکه روی این موضوع وقت گداشتین و پاسخ نیز بسیار عالی بود.
                  اگر به ابتدای تاپیک برگردیم در مورد مشکل کامبو باکس ها، من با یه راه آماتتوری اینکارو انجام دادم(پست 5) حالا که دارم کدها تو برنامه اصلی وارد می کنم جواب نمیده چراکه اطلاعات فایل مثال عددی بودن در صورتی که اطلاعات اصلی به صورت رشته (حرفی ) هستش و عملا برای کامبوباکسها مشکل ایجاد میکنه . لطفا فایل پیوست رو ملاحظه بفرمائید.
                  ممنون از توجه شما
                  فایل های پیوست شده
                  در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان



                  کامنت

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

                    • 2014/04/03
                    • 892

                    #10
                    نوشته اصلی توسط علی فاطمی
                    با سلام و تشکر از اینکه روی این موضوع وقت گداشتین و پاسخ نیز بسیار عالی بود.
                    اگر به ابتدای تاپیک برگردیم در مورد مشکل کامبو باکس ها، من با یه راه آماتتوری اینکارو انجام دادم(پست 5) حالا که دارم کدها تو برنامه اصلی وارد می کنم جواب نمیده چراکه اطلاعات فایل مثال عددی بودن در صورتی که اطلاعات اصلی به صورت رشته (حرفی ) هستش و عملا برای کامبوباکسها مشکل ایجاد میکنه . لطفا فایل پیوست رو ملاحظه بفرمائید.
                    ممنون از توجه شما
                    کد PHP:
                    Private Sub ComboBox1_Change()
                    ActiveSheet.Range("$b$4:$c$4").AutoFilter field:=1Criteria1:=ComboBox1
                    ComboBox2
                    .Text ""
                    Dim x
                    Dim y
                    Dim z
                    Dim t 
                    As Integer
                    ComboBox1.Text
                    ActiveSheet.Cells(Rows.Count"c").End(xlUp).Address
                    Application.WorksheetFunction.Match(tRange("sss"), 0)
                    ComboBox2.RowSource "Sheet1!" & ("C" z) & ":" x
                    End Sub 
                    شما متغيرتو Integer معرفي كردي ، اگه تبديل به String بكنيش اين مشكلت حله
                    کد PHP:
                    Dim t As String 
                    sigpic

                    کامنت

                    • Javid Mokhtari
                      مدير تالار ويژوال بيسيك

                      • 2012/01/16
                      • 1213

                      #11
                      نوشته اصلی توسط علی فاطمی
                      با سلام و تشکر از اینکه روی این موضوع وقت گداشتین و پاسخ نیز بسیار عالی بود.
                      اگر به ابتدای تاپیک برگردیم در مورد مشکل کامبو باکس ها، من با یه راه آماتتوری اینکارو انجام دادم(پست 5) حالا که دارم کدها تو برنامه اصلی وارد می کنم جواب نمیده چراکه اطلاعات فایل مثال عددی بودن در صورتی که اطلاعات اصلی به صورت رشته (حرفی ) هستش و عملا برای کامبوباکسها مشکل ایجاد میکنه . لطفا فایل پیوست رو ملاحظه بفرمائید.
                      ممنون از توجه شما
                      در فایلی که براتون فرستادم در برای دکمه Find کد زیر را قرار دهید:
                      کد PHP:
                      Sheet2.Select
                      num1 
                      0
                      For 1 To Len(ComboBox2.Text)   
                       If 
                      IsNumeric(Mid(ComboBox2.Texti1)) = True Then  
                            num1 
                      num1 1  
                        End 
                      If
                      Next i
                      num2 
                      num1
                      Sheet2
                      .Range("k3").Value Mid(ComboBox2.Textnum2num1)
                      Me.Hide 
                      دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
                      بیش از 60 جلسه آموزش ویدئویی رایگان

                      شرکت در دوره:

                      https://javidsoft.ir/courses/


                      کامنت

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

                        • 2014/04/03
                        • 892

                        #12
                        يعني كلا هر چي كد دستت رسيده زدي تو اينا ، من كه هيچي از اين نفهميدم ، كلا 70 درصد كدهات اضافه هستن .
                        شما اينكارو بكن ،
                        تو قسمت UserForm_Initialize بنويس - كه باعث ميشه اطلاعات ستون اول در ComboBox1 ذخيره بشه .
                        کد PHP:
                        Private Sub UserForm_Initialize()
                        For 
                        Each b In Sheet1.Range("radif")
                        Dim a As String
                        If <> b Then
                        UserForm2
                        .ComboBox1.AddItem b
                        b
                        End 
                        If
                        Next
                        End Sub 
                        و در ComboBox اولت هم بزن - باعث لود شدن اطلاعات در ComboBox2 ميشه .
                        کد PHP:
                        Private Sub ComboBox1_Change()
                        UserForm2.ComboBox2.Clear
                        For Each a In Sheet1.Range("radif")
                        For 
                        Each b In Sheet1.Range("data")
                        If 
                        a.Value UserForm2.ComboBox1.Text Then
                        If a.Row b.Row Then
                        UserForm2
                        .ComboBox2.AddItem b
                        End 
                        If
                        End If
                        Next
                        Next
                        End Sub 
                        و در دكمه finde هم بنويس - كه سلول مورد نظر رو بر حسب جستجوت پيدا ميكنه .
                        کد PHP:
                        Private Sub CommandButton1_Click()
                        For 
                        Each a In Sheet1.Range("radif")
                        For 
                        Each b In Sheet1.Range("data")
                        If 
                        a.Value UserForm2.ComboBox1.Text And b.Value ComboBox2.Text Then
                        If a.Row b.Row Then
                        a
                        .Select
                        End 
                        If
                        End If
                        Next
                        Next
                        End Sub 
                        اميدوارم كه ديگه كارت راه بيفته ، تو فايل ضميمه هم اون userfom اولتو كلا بيخيال شدم و يه دكمه ديگه گذاشتم به اسم userform2
                        فایل های پیوست شده
                        sigpic

                        کامنت

                        • علی فاطمی

                          • 2014/02/17
                          • 523

                          #13
                          نوشته اصلی توسط jansiz hayat
                          در فایلی که براتون فرستادم در برای دکمه Find کد زیر را قرار دهید:
                          کد PHP:
                          Sheet2.Select
                          num1 
                          0
                          For 1 To Len(ComboBox2.Text)   
                           If 
                          IsNumeric(Mid(ComboBox2.Texti1)) = True Then  
                                num1 
                          num1 1  
                            End 
                          If
                          Next i
                          num2 
                          num1
                          Sheet2
                          .Range("k3").Value Mid(ComboBox2.Textnum2num1)
                          Me.Hide 
                          با سلام و تشکر از توجه شما.
                          در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان



                          کامنت

                          • علی فاطمی

                            • 2014/02/17
                            • 523

                            #14
                            نوشته اصلی توسط misammisam
                            يعني كلا هر چي كد دستت رسيده زدي تو اينا ، من كه هيچي از اين نفهميدم ، كلا 70 درصد كدهات اضافه هستن .
                            userform2
                            با سلام و تشکر از توجه شما،
                            من که قبلا عرض کرده بودم روش یه روش آماتوریه اساتید لطف کنن نظر حرفه ای بدن ( پست 5 ).
                            بهر حال از اینکه وقت گذاشتین ممنون.
                            در دنیا فقط یک نفر وجود دارد که باید از او بهتر باشید و آن کسی نیست جز گذشته خودتان



                            کامنت

                            • Amir Ghasemiyan

                              • 2013/09/20
                              • 4476

                              #15
                              اگر به پاسخ مناسب رسيدين لطف كنيد تاپيك رو حل شده كنيد
                              با تشكر

                              کامنت

                              Working...