AutoFilter Code Between 2 Dates
Nov 24, 2007
I am encounting problems with an AutoFilter which is run in a macro after the user has selected dates from 2 Date Pickers (DTPicker) on a user form. The filter is applied to 1 column in a spreadsheet containing dates in the formay "dd/mm/yy" and is supposed to filter dates =2 and between a range of dates as selected. The resultant filter is blank, if the macro is debugged at this point the date format for the 1st criteria is found to have swopped the "dd" & "mm" around but the 2nd criteria is fine. eg. user selected 01/07/07 and 31/07/07 the resultant filter applied is 07/01/07 and 31/07/07. I have re-formatted dates to Long as per the article on this site @ http://www.ozgrid.com/VBA/autofilter-vba-dates.htm but still get the same result ???
Dim fDate, tDate As Date
Dim lfDate, ltDate As Long
fDate = frmReportMenu.dtpFromDate.Value
tDate = frmReportMenu.dtpToDate.Value
fDate = DateSerial(Year(fDate), Month(fDate), Day(fDate))
tDate = DateSerial(Year(tDate), Month(tDate), Day(tDate))
lfDate = fDate
ltDate = tDate
View 2 Replies
ADVERTISEMENT
Mar 3, 2003
= LOOKUP(BH23,B1:AF1) this is looking for a date (a returned value from another set of equations) in a row of other dates. I want a macro to use this lookup, find the date and then select it as an auto filter, with criteria? here is the macro and the part where it says auto filter is the part where I want it to do the above lookup function
Sub Brooke()
ActiveWindow.ScrollWorkbookTabs Sheets:=-4
Sheets("Feb 03").Select
Selection.AutoFilter Field:=28, Criteria1:="BH"
Range("AD7:AD56").Select
Selection.Copy
Sheets("Brooke Hotel Running Order").Select
ActiveSheet.Paste
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("Feb 03").Select
Range("AD62:AD68").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Brooke Hotel Running Order").Select
Range("B32").Select
ActiveSheet.Paste
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
Range("F23").Select
End Sub
View 3 Replies
View Related
Dec 22, 2008
How can I create a custom autofilter that will show me dates within 30 days of today in Excel 2003?
View 3 Replies
View Related
Jul 18, 2009
In my 2003 workbook I have a number of sheets.
The 'Details' sheet has, among other data, the 'year' that the workbook refers to. From this, the beginning and end dates of each quarter appear in Cells F2:F10 in the 'Details' Sheet in the format dd/mm/yyyy.
In the 'Management' Sheet I have four buttons - Q1, Q2, Q3 and Q4. I want to attach code to apply a custom autofilter to each button so that clicking on one of the buttons will show only data from that quarter.
Using the macro recorder the following code is generated when applying a custom AutoFilter for Quarter One:
Sub QuarterOne
Selection.AutoFilter Field:=3, Criteria1:=">=01/01/2009", Operator:=xlAnd , Criteria2:="
View 9 Replies
View Related
Aug 17, 2006
I have this script it does exactly as i want it to do, filter a table of date using two selected date in D3 and D4. There is only one problem: when i choose the dates and run the script it changes them around it around.
e.g
cell D3 = 01/11/2006
cell D4 = 01/12/2006
so it should just show all of november (11)
but D3 will filter using 11/01/2006
and D4 will use 12/01/2006
Sub DateFilter()
Range("a8:r323").AutoFilter Field:=1, Criteria1:=">=" & Range("D3").Value, Operator:=xlAnd, _
Criteria2:="<=" & Range("D4").Value
End Sub
View 7 Replies
View Related
Jan 9, 2007
I recorded a macro to custom AutoFilter 2 columns in a worksheet. The information will be filtered between 2 dates; i.e. >= cell B2 and <= cell C2.
Both cells are formated to dd/mm/yy so i entered 1/12/06 (for 1st Dec) in cell B2 and 31/12/06 (for 31st Dec) in cell C2.
When i enter these 2 dates, click the button to run the macro and check the custom filter in the "Planning" worksheet it appears that the dates change to 12/01/06 and 21/12/06 and no records appear - although i know at least 65 rows should show.
If i then enter the dates in B2 and C2 as mm/dd/yy instead (but leave the date format of the cell as dd/mm/yy) the filter works perfectly; i.e. enter 12/01/06 and 12/31/06. However I plan to issue this spreadsheet out to other staff and as every other date in the spreadsheet is in the uk format dd/mm/yy i dont want to confuse them by insisting they use the mm/dd/yy format for this one function.
Has anyone ever encountered this before? and if so is there some way i can fix it?
Heres the code for the filter:
Sub Monthly_Stats()
Sheets("Planning").Select
Selection.AutoFilter Field:=5, Criteria1:=">=" & Sheets("Filtered Statistics").Range("B2").Value, Operator:=xlAnd _
, Criteria2:="<=" & Sheets("Filtered Statistics").Range("C2").Value, Operator:=xlAnd
Selection.AutoFilter Field:=82, Criteria1:="<>"
End Sub
View 3 Replies
View Related
Jun 16, 2014
The problem is that when I add dates via macros (like from a userform to a selected cell) to a cell in autofiltered column, the autofilter doesn't recognize these values as "proper" dates. If I activate the formula bar and press Enter, then the autofilter identifies the date properly.
This is how the autofilter popup looks like after I have added a date via my macro: [URL] ....
The new date doesn't get categorized by year and month, instead it just shows as text on a separate line (circled in red) (huhtikuu = April)
I have earlier used Formula:
[Code] ....
How I could get the autofilter working right with the inputed values? I have tried adding the date via .Value and .Formula but neither one works.
View 2 Replies
View Related
Feb 15, 2010
I have a column of dates: 1 day per row: 01/01/10, 02/01/10, 03/01/10, etc in sequence, without gaps (European date format). The list can begin with a different start date depending on initial user input and is not always a Monday. I want the user to be able to autofilter so that it only shows dates that fall on a Monday.
Private Sub Worksheet_Activate()
Dim dDate As Date
Dim strDate As String
'disable autofilter if already enabled
With ActiveSheet
.AutoFilterMode = False
End With
'autofilter column a only, from a12, to filter Mondays
If IsDate( Range("a12")) Then
dDate = Range("a12")
strDate = Weekday(dDate)
Range("a12").AutoFilter
Range("a12").AutoFilter field:=1, Criteria1:=strDate
End If
End Sub
View 2 Replies
View Related
Apr 30, 2014
I am having trouble with the following macro,
[Code] .....
When I press F8 and step through the macro, the StartDate and EndDate both seem to populate correctly.
The macro seems to go through the motions but returns NO results, unlike the recorded macro.
Macro code to "Clear Filter".
View 2 Replies
View Related
Aug 15, 2013
Through VBA I am trying to filter for today's date and all dates 30 days in the future as well as all dates 30 days in the past.
I am currently using the code below, but it only show dates 30 days in the future. I cannot get it to populate cells that are either 30 days in the future or 30 days in the past.
Rows("4:4").Select
Selection.AutoFilter
ActiveSheet.Range("$A$4:$HQ$1000").AutoFilter Field:=4, Criteria1:="TBD"
ActiveSheet.Range("$A$4:$FQ$1000").AutoFilter Field:=12, Criteria1:= _
">=" & Date, Operator:=xlAnd, Criteria2:="
View 2 Replies
View Related
Jan 14, 2007
I have a workbook with 2 sheets I want to make an autofilter by two method :
- select case statement
- two dates
View 4 Replies
View Related
Feb 11, 2008
i wanted to create a macro that will autofilter my starting dates in I to the newest date entered. So ive recorded the macro: ....
View 9 Replies
View Related
Jun 4, 2014
I have a piece of code (below) that autofilters a table based on a cell value (B7). I am looking to adapt this code so that the table can be filtered by an additional field in B8. This cell may be blank, in which case I want it to select all possible values (not just uncheck them all).
HTML Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If (Intersect(Target, Range("B7")) Is Nothing) _[code]....
View 6 Replies
View Related
Jan 25, 2014
While I try to create a sub - autofilter A column and select the...
- first entry (but not as a unique item, as data may changes weekly) once 1st item filtered - I'd do some function: sum weekly results, and keep only one row with the filtered item (paste special/delete rows)
- than step on next entry and do the same as before
- take these steps till the end of autofilter list, than remove autofilter.
.. with this action, I'd get the sum value of my weekly forecast on each individual items.
I've started as:
ActiveSheet.Range("$A$2:$BN$400").AutoFilter Field:=1, Criteria1:= _
"17963-E050LF"
But criteria should be like .. 1st entry ... 2nd entry ... last entry .. session end .. ?!
View 14 Replies
View Related
Jul 29, 2009
I have a macro which (see below) which will autofilter a spreadsheet to only show cases which are older than a 200 days. I'd like to add the ability for the end user to change the filter criteria as required (say from 200 to 300).
Ideally this would be done by having the macro reference cell G22 which is where I would allow the end user to change the filter criteria.
View 8 Replies
View Related
Oct 21, 2009
The code contain using Autofilter to some columns, & then copy paste to another sheet to first blank row, & sorting it by asscending in Column A.
Both sheets are in the same workbook.
But for some reason, the Macro will giving the result expected if i run it step by step (by using F8 button under window VB editor). And if i call the Macro name it stoped in the middle of the process.
View 7 Replies
View Related
Feb 20, 2007
What could make this line of code stop working. It has worked for weeks, and just yesterday it stopped working. :x
ActiveWorkbook.Sheets("Email").UsedRange.AutoFilter Field:=2
The sheet is unprotected, and events are enabled. I don't know of anything different than before. What do I look for that would not allow this code to run?
View 9 Replies
View Related
Jul 25, 2008
I found this code for hiding an autofilter arrow for column 2. I would also like to hide the arrows for columns 35 through 50. Does anybody know how to do that? Thanks.
Private Sub Workbook_Open()
'hides all arrows except column 2
Dim c As Range
Dim i As Integer
i = Cells(1, 1).End(xlToRight).Column
Application.ScreenUpdating = False
For Each c In Range(Cells(1, 1), Cells(1, i))
If c.Column 25 Then
c.AutoFilter Field:=c.Column, _
Visibledropdown:=False
End If
Next
Application.ScreenUpdating = True
End Sub
View 9 Replies
View Related
Aug 12, 2006
I'm looking to use Autofilter and current region to select each persons data and paste to a new sheet.
The trouble is i'm not sure how to change the criteria name in the loop
e.g first name in list is Jack, next is John
Selection.AutoFilter Field:=1, Criteria1:="Jack"
View 9 Replies
View Related
Sep 5, 2006
I have some code for applying various filters, up to a maximum of five. However, not all five fields need necessarily have any filter but I can't find a way in the vaConditions line to show 'no filter' or 'All'.
vaFields = VBA. Array(1, 3, 4, 9, 10)
vaConditions = VBA.Array("", "", "", ">20", "")
Set rngData = Worksheets("CECO 2005").UsedRange
For i = 0 To 4
rngData.AutoFilter Field:=vaFields(i), Criteria1:=vaConditions(i)
Next i
View 3 Replies
View Related
Feb 27, 2007
I'm trying to program a macro that filters out codes in an autofilter list. There are about 40 codes in total, however I only want excel to display 3. The current script I am using is below. I know excel lets you filter for 2 criterias in this format, however is 3 or more too much? What would be the best way around this problem?
Selection.AutoFilter Field:=4, Criteria1:="=COR", Operator:=xlOr, _
Criteria2:="=REM", Operator:=x1Or, _ Criteria3:="=REA"
View 2 Replies
View Related
Aug 9, 2007
I have created a macro some time ago that is an integrated part of an XLA. The Xla has worked fine but now, for some reason, the macro fails to import the specified text, it doesn't fail but nothing gets imported. I have tried solving this myself, but alas I am not bright enough
The code is:
Sub GetWorksheet()
Dim filetoopen As String
Dim wb As Workbook
filetoopen = Application _
. GetOpenFilename("XL Files (*.xls), *.xls")
On Error Resume Next
View 5 Replies
View Related
Apr 30, 2008
I have to create autofilters dynamically on x columns based on the selection I make. I created this code but is not working.
LastColumn = Cells. Find(What:="*", After:=[A1], _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Range(Cells(17, 1), Cells(17, LastColumn)).Select
With Selection
.AutoFilter = True
End With
View 2 Replies
View Related
Jun 13, 2013
VB:
Range("a1:n" & row_end).AutoFilter 13, "ABC"
If the value "ABC" not found in table, it shows error msg, In my file data="ABC" avail, sometimes not.
View 2 Replies
View Related
Sep 3, 2007
I have a protected worksheet with some macros running on it, and I have been requested to make the workbook shared. Trying to implement this, I keep getting the standard "1004 You cannot use this command on a protected sheet" error when applying an autofilter.
Here is what is making this problem a little tricky:
- As the workbook is shared, I cannot do Protect UserInterfaceOnly because you can't change the protection settings on a shared workbook without unsharing it. Needless to say, I cannot unshare the workbook.
- When I protect the sheet, I do allow the user to use autofilter. Consequently, Sheet.Protection.AllowFiltering and Sheet.EnableAutofilter both are on. Still, I keep getting the error.
The failing line of code is:
shData. Range("_filterDataBase").AutoFilter lngField, strArg
where shData is the codename of the sheet, lngField is the number of the field and strArg is the filtering criteria.
My guess is, that the error comes from the fact that (for some silly reason) in VBA the .AutoFilter method is used to create a new filter, not only to use an existing one. The members of Sheet.AutoFilter.Filters collection are read-only, and cannot be used to modify the existing filter.
View 3 Replies
View Related
Sep 25, 2009
Im sure this is a very common problem. I tried searching for it but I havent found anything that solves this for me. Here is the code Im using:
View 3 Replies
View Related
Jul 2, 2014
On worksheet A I have a series of dates and a location:
Date Location
05/07/2014 Zoo
09/07/2014 Farm
12/07/2014 Cinema
This is a series of trips that are planned to occur. In order to occur there is a criteria which is recorded seperately and is coded as '1' = criteria were broken and '2' = criteria were not broken. The criteria for each trip must be met from the date of the last trip until the day before the next trip - so using the above example, to get the farm, the criteria must be met from 05/07/2014 until 08/07/2014. In practical terms, there must be no '1' in the desingated column that records the criteria - fairly simple.
But there is an allowance of one case of the criteria being broken, which is recorded seperately ('1' = allowance used and '2' allowance not used). This allowance resets after every potential trip (whether the trip was earned or not). This is all displayed as a 'status' on Worksheet B.
So in terms of practical VB code I'm looking for:
-Start with row A on worksheet A - copy the date and location onto worksheet B (the next trip)
-On opening the file, take the date of the last trip (or in the case of the first trip, the designated start date)
-Look into Column J (between date of last trip and date of next trip) to see if allowance has been used (a '1')
-Look into column K (between the two dates) to see if the criteria has been broken on more than one ocasison (two '1')
-OR if possible - compare column J and K (between the two dates) to see if a criteria was broken AFTER the allowance has been used
Then, look to see if today's date is the same date as the next trip, if it is, move the reference down to the next rown (A3, A4, etc) on Worksheet A so that the status now reflects the next trip, and the code now looks between the two new dates.
How to do most of it, but its the comparing between two dates and the different criteria that is stumping me.
View 8 Replies
View Related
Jun 13, 2013
I need a VBA code for entering dates. The start date cell is A15.When I select cell A15 and hit macro button it inserts todays date and fills in 1-month of dates in column A excluding the weekends...
View 3 Replies
View Related
Feb 15, 2010
I received a solution to a question recently whereby I was instructed to use the text-to columns function to solve a problem I was having with a column of dates.
Convert Dates To Another Format
The solution provided was;
Select Data > Text to Columns > Next > Next > Column Data Format > Date.
The solution works fine when performed manually but if you perform this function while recording a macro, the crucial piece that changes the date output is not captured by the recorder so when you run the macro nothing happens.
To expand on how I recorded it, after starting the text to column dialogue and pressing Next twice, the dialog provides me with a drop down selector where I am able to change the date format from the default DMY to the desired MDY which - when selected manually - fixes my problem. However, when I record a macro while performing this action the date format choice I made is not being recorded in the macro output so when I try running the macro later on the original data, nothing happens.
The recorded macro ends up looking like this; ....
View 9 Replies
View Related
Feb 15, 2008
I am getting a type mismatch error ehen comparing 2 dates. I tried entering all date formatting but it still throws the same error... here is my code. i have highlighted in bold where I get the error. the Error it throws is Run Time Error 13. Type Mismatch Error. I am using office excel 2003 SP3
Dim siebApp As SiebelWebApplication
Dim siebBusObj As SiebelBusObject
Dim revBC As SiebelBusComp
Dim isRecord As Boolean
Dim sRep As String
Dim sCompany As String
Dim sLocation As String
Dim sStep As String
Dim sProb As String
Dim sDate As String
Dim RetDate As Date
Dim CurDate As Date
Const DateCol = 9
CurDate = Now()
RetDate = Sheets("Users"). Cells(DateCol)
r = Sheets("Users").Cells(65536, 1).End(xlUp).Row 'Get next blank row
Sheets("Users").Cells(r, DateCol) = CurDate
'Create The Siebel WebApplication Object
Set siebWebApp = CreateObject("TWSiebel.SiebelWebApplication.1")...........................
View 5 Replies
View Related