امکان ایجاد فیلتر و جستجود در فرم

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • mreza

    • 2014/09/27
    • 64
    • 37.00

    امکان ایجاد فیلتر و جستجود در فرم

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

    باتشکر
    فایل های پیوست شده
  • Ali Parsaei
    مدير تالارتوابع اکسل

    • 2013/11/18
    • 1522
    • 71.67

    #2
    سلام،
    فکر کنم به دليل حجم زياد فرمول نويسي يک مقدار انسجام کار به هم ريخته و اشتباهاتي داشته ايد، کليت کار درست است ولي بايد همه کد ها را دوباره چک کنيد.
    مثلا" در رويداد initialize فرم اصلي combo box1 را بر حسب ستون c مقدار دهي نموده ايد يعني برحسب نام ماشين آلات (گريت 2 و ......)
    ولي در کد دگمه "جستجو" يک متغيير c تعريف کرده ايد و نوشته ايد براي هر c در ستون d اگر c مساوي combobox1 بود ..... در صورتي که combobox1 نام ماشين آلات را در بر دارد و هيچ موقع مساوي ستون d نخواهد بود! ستون d نام دپارتمان ها است!!!
    يا ستون را بايد اصلاح کنيد به c يا شماره combobox را بايد اصلاح کنيد، ضمنا" با توجه به اينکه کدها به هم مربوط است بايد کل آنها را دوباره چک کنيد.
    مثلا" در مثال فوق اگر ستون d اشتباه باشد و آن را به ستون c تغيير دهيد کل کدهاي offset که listbox2 با آنها مقدار مي گيرد را بايد يک شماره ستون کم کنيد و ......
    [SIGPIC][/SIGPIC]

    کامنت

    • mreza

      • 2014/09/27
      • 64
      • 37.00

      #3
      نوشته اصلی توسط علي پارسا
      سلام،
      فکر کنم به دليل حجم زياد فرمول نويسي يک مقدار انسجام کار به هم ريخته و اشتباهاتي داشته ايد، کليت کار درست است ولي بايد همه کد ها را دوباره چک کنيد.
      مثلا" در رويداد initialize فرم اصلي combo box1 را بر حسب ستون c مقدار دهي نموده ايد يعني برحسب نام ماشين آلات (گريت 2 و ......)
      ولي در کد دگمه "جستجو" يک متغيير c تعريف کرده ايد و نوشته ايد براي هر c در ستون d اگر c مساوي combobox1 بود ..... در صورتي که combobox1 نام ماشين آلات را در بر دارد و هيچ موقع مساوي ستون d نخواهد بود! ستون d نام دپارتمان ها است!!!
      يا ستون را بايد اصلاح کنيد به c يا شماره combobox را بايد اصلاح کنيد، ضمنا" با توجه به اينکه کدها به هم مربوط است بايد کل آنها را دوباره چک کنيد.
      مثلا" در مثال فوق اگر ستون d اشتباه باشد و آن را به ستون c تغيير دهيد کل کدهاي offset که listbox2 با آنها مقدار مي گيرد را بايد يک شماره ستون کم کنيد و ......
      سلام آقای پارسا
      ممنون از راهنمایی شما
      با کمک شما تقریبا مشکل حل شد فقط من چطوری میشه در بازه زمانی مشخص بین دو تاریخ فیلتر انجام بشه با این برنامه فقط همون دو تاریخ فیلتر میشه نه بازه زمانی بین دو تاریخ
      فایل جدید رو پیوست می کنم
      فایل های پیوست شده

      کامنت

      • mreza

        • 2014/09/27
        • 64
        • 37.00

        #4
        کسی نیست راهنمایی کنه؟

        کامنت

        • ali.b

          • 2014/01/12
          • 798

          #5
          شما باید از این کد استفاده کنی
          این کد برای ادرس گرفتن از سلول های داخل شیت استفاده میشه
          کد:
          Sub test()
          ActiveSheet.Range("$B$3").AutoFilter field:=1, Criteria1:= _
              ">=" & Sheet1.Range("e1"), Operator:=xlAnd, Criteria2:="<=" & Sheet1.Range("e2")
          End Sub
          و این کد مربوط به تعریف تاریخ مشخص و بازه های بین این دو تاریخ رو درنظر میگیره
          کد:
          Sub Macro2()
              ActiveSheet.Range("$B$3:$B$19").AutoFilter field:=1, Criteria1:= _
                  ">=1393/09/01", Operator:=xlAnd, Criteria2:="<=1393/09/30"
          End Sub
          [CENTER]
          [/CENTER]

          کامنت

          • ~M*E*H*D*I~
            • 2011/10/19
            • 4377
            • 70.00

            #6
            نوشته اصلی توسط mreza
            سلام
            من میخوام در یوزر فرم (فایل پیوست ) با توجه به گزینه های تعیین شده بالای فرم امکان فیلتر اطلاعات شیت اکسل و نمایش در لیست باکس رو داشته باشه لطفا راهنمایی کنید.

            باتشکر
            به لینک زیر مراجعه کنید

            آموزش فیلتر داده ها بر مبنای چند محدودیت اختیاری و نمایش در لیست باکس

            [CENTER]
            [SIGPIC][/SIGPIC]
            [/CENTER]

            کامنت

            • mreza

              • 2014/09/27
              • 64
              • 37.00

              #7
              با سپاس فراوان
              از راهنمایی شما

              کامنت

              چند لحظه..