فیلتر یک محدوده از تاریخ

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • ali.b

    • 2014/01/12
    • 798

    فیلتر یک محدوده از تاریخ

    سلام خدمت دوستان متخصص عزیز انجمن اکسل ایران

    ی فایل اکسل دارم که رنجی از تاریخ ها رو داره و وقتی میخوام از تاریخ 1393/09/01 تا تاریخ 1393/09/30 برام فیلتر کنه باید یکی یکی از اول ماه تا اخر ماه باید ارایه بنئویسم.
    در غیر این صورت فقط 1393/09/01 و 1393/09/30 رو فیلتر میکنه اما میخوام کل یک ماه رو فیلترکنه
    ایا راهی هست که وقتی در یمک سلول تاریخ رو نوشتم خودش خودکار تاریخ های بین اون ها رو فیلتر کنه؟
    کد:
    Sub filrun()Application.ScreenUpdating = False
    Dim j As Integer, k As Integer
    j = Worksheets.Count
    For k = 2 To 9
    With Worksheets(k)
    .Range("G3").AutoFilter Field:=7, Criteria1:=[COLOR=#ff0000]Sheet13.Range[/COLOR]("f1") _
    , Operator:=xlOr, Criteria2:=[COLOR=#ff0000]Sheet13.Range[/COLOR]("g1")
    
    
    
    
    End With
    Next k
    Application.ScreenUpdating = True
    End Sub
    قسمت قرمز ادرس تاریخ هست

    اما در حالت عادی برای این کار باید مث زیرعمل کنم
    کد:
    Sub Macro1()
    
        ActiveSheet.Range("$B$3:$G$19").AutoFilter Field:=1, Criteria1:=Array( _
            "1393/09/07", "1393/09/08", "1393/09/11", "1393/09/12", "1393/09/15", "1393/09/19", _
            "1393/09/20", "1393/09/24", "1393/09/25", "1393/09/27"), Operator:= _
            xlFilterValues
    End Sub
    که در این صورت اصلا نمیتونم تاریخ بین بازه های اول تا اخر رو در نظر بگیره
    [CENTER]
    [/CENTER]
  • mohammad_ashooryan

    • 2014/08/13
    • 480
    • 80.00

    #2
    سلام
    براي اينكار ميتونيد از custom filter اكسل استفاده كنيد
    اگه هم كه ميخواين تاريخهاي مورد نظر رو توي دو تا سلول بنويسيد من اينكار رو با ماكرو انجام دادم.
    فيلتر بين دو تار&.xlsx

    کامنت

    • ali.b

      • 2014/01/12
      • 798

      #3
      ممنون ذوست عزیز اما من ماکرویی در این زمینه تو فایل ندیدم
      اون
      custom filter
      برای یک شیت هست اما من یه 10 تا شیت دارم که میخوام همزمان از این کد استفاده کنن و تهش ی امار بهم بده که با ین کد مشکل رو حل کردم
      کد:
      Sub hh()
      
      
          ActiveSheet.Range("$B$4").AutoFilter Field:=1, Criteria1:=">=1393/09/01", Operator:= _
              xlFilterValues, Criteria2:="<1393/09/30"
      End Sub
      [CENTER]
      [/CENTER]

      کامنت

      • mokaram
        مدير تالار اکسل و بانک اطلاعاتی

        • 2011/02/06
        • 1805
        • 74.00

        #4
        شما قاعدا باید تو فرمی که قرار گزارش بگیری دو تا تکست باکس ( به فرض) برای ورود تاریخ بزاری که ابتدا و انتهای تاریخت را نشون بدن بعد در کد نویسی برای کشیدن بیرون این تاریخ ها ، می تونی از IF استفاده کنی

        کد PHP:
            For Each c In Sheet1.Range("a2:a10000")
                If 
        >= TextBox1.Text And <> "" Then
                    
        If <= TextBox2.Text And <> "" Then 
        و بعد اطلاعاتت را تو مثلا لیست باکس نمایش بده و اگه اونجا خواستی پرینت بگیری یا انتقال بدی به شیت

        اگه اینجوری بود تو انجمن مورد زیاده شما هم که استاد هستید من فقط خواستم مسیر را نشون بدم

        موید باشید
        [CENTER][IMG]http://forum.exceliran.com/signaturepics/sigpic909_10.gif[/IMG]
        [/CENTER]

        کامنت

        • ali.b

          • 2014/01/12
          • 798

          #5
          ممنونم استاد عزیز
          [CENTER]
          [/CENTER]

          کامنت

          چند لحظه..