نمایش نتایج: از شماره 1 تا 2 , از مجموع 2

موضوع: (آموزشی) فیلتر سلول ها بر اساس تاریخ

  1. #1


    آخرین بازدید
    تاریخ عضویت
    January 2014
    نوشته ها
    798
    امتیاز
    1667
    سپاس
    591
    سپاس شده
    1,242 در 436 پست
    تعیین سطح نشده است

    (آموزشی) فیلتر سلول ها بر اساس تاریخ

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

    برایاین کار از کد زیر میتونید کمک بگیرید
    کد:
    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:=Sheet13.Range("f1") _
    , Operator:=xlOr, Criteria2:=Sheet13.Range("g1")
    '.Range("L3").AutoFilter Field:=12, Criteria1:=Sheet13.Range("m1")
    
    
    End With
    Next k
    Application.ScreenUpdating = True
    End Sub
    درضمن این کد کارش اینه که تمامی شیت های 2 تا 9 رو خودکار بر اساس داده ها فیلتر بگیره و برای کسانی که شیت های زیاد اما با فرم یکسان دارد خوبه امانکته اموزشی این بحث بخش ابی هست و بخش قرمر شماره ستونی که میخواین فیلتر روش اعمال بشه
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.



  2.  

  3. #2


    آخرین بازدید
    تاریخ عضویت
    January 2014
    نوشته ها
    798
    امتیاز
    1667
    سپاس
    591
    سپاس شده
    1,242 در 436 پست
    تعیین سطح نشده است

    حالا اگه فیلتر کردیم و دوباره بخوایم به حالت عادی برگردونیم از روش زیر استفاده میکنیم
    کد:
    Sub filundo()
    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
    '.Range("l3").AutoFilter Field:=12
    End With
    Next k
    Application.ScreenUpdating = True
    End Sub


  4. سپاس ها (2)



اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

انجمن اكسل ايران , اكسل , اكسس , سوال و جواب اكسل , سوال اكسس , انجمن اكسل ايران , توابع اكسل, آموزش اكسل, آموزش اكسس, VBA, ويژوال بيسيك

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است