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