سلام
همون طور که برای من سوال پیش اومد و دوستان هم اخیرا سوال کردن فیلتر گرفتن با 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 رو خودکار بر اساس داده ها فیلتر بگیره و برای کسانی که شیت های زیاد اما با فرم یکسان دارد خوبه امانکته اموزشی این بحث بخش ابی هست و بخش قرمر شماره ستونی که میخواین فیلتر روش اعمال بشه
|
اخطار: این یک موضوع قدیمی است به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید. |
|
علاقه مندی ها (Bookmarks)