Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Ok, first thanks for what you have given me so far. With alot of help I think I have this very close to being correct. I took what you gave me and got alot of help, and used a couple of books. Here is what I hav
Sub OpenMonthlyChart( Application.ScreenUpdating = Fals Dim FirstLetter As Strin Dim LastLetter As Strin Dim DateOne As Lon Dim DateTwo As Lon Workbooks.Open Filename:= ThisWorkbook.Path & "\ProgramData\FileData\StoredData\ExecutiveSummary Reports\MonthlySummary\Report.xls Windows("MainFile.xls").Activat Sheets("DataSheet1").Selec FirstLetter = Range("D15").Valu LastLetter = Range("E15").Valu DateOne = Range("D12").Valu DateTwo = Range("D10").Valu Columns("P:T").Selec Selection.ClearContent With Windows("Report.xls" Columns(FirstLetter & ":" & LastLetter).Selec With Selectio .AutoFilter Field:=1, Criteria1:="=" & DateTwo, Operator:=xlAn .AutoFilter Field:=1, Criteria1:="<=" & DateOne, Operator:=xlAn End Wit .Cells.SpecialCells(xlCellTypeVisible).Cop Windows("TIPSData.xls").Activat Sheets("Data1").Activat Range("P1").Selec ActiveSheet.Past Application.CutCopyMode = Fals '.Range("A1").EntireRow.Delet End Wit The problem is I am getting an error in the area with the "with" and the "autofilter". It is telling me something about not having any data but I know that I do. The only thing I have changed from what you provided is that the area to pull data from is set by two variables and the date ranges are set by two variables. The local computer guy helped me get this far but now even he confused. And to be honest I don't know how much he really knew to begin with (if you see this, sorry Rob, just me being frustrated) Anyway, any further assistance you can give me would be greatly appreciated, as I am just not sure what might be wrong Thanks Randy Walke ----- Bob Phillips wrote: ---- Hi Randy Here's some code that will capture all rows with dates between 9th Jan i column A, and 3rd Feb in column Worksheets("Sheet2").Cells.ClearContent With Worksheets("Sheet3" .Range("A1").EntireRow.Inser With .Columns("A:B" .AutoFilter Field:=1, Criteria1:="=09-Jan", Operator:=xlAn .AutoFilter Field:=2, Criteria1:="<=03-Feb", Operator:=xlAn End Wit .Cells.SpecialCells(xlCellTypeVisible).Cop Worksheets("Sheet2").Activat Range("A1").Selec ActiveSheet.Past Application.CutCopyMode = Fals .Range("A1").EntireRow.Delet .Range("A1").EntireRow.Delet End Wit -- HT Bob Phillip ... looking out across Poole Harbour to the Purbeck (remove nothere from the email address if mailing direct "Randy Walker" wrote in messag .. I know a little about this excel and less about programming but wa directed here by a friend to try and find an answer. I have looked throug the posts but can't find anything that seems to answer my question Although since I am not exactly sure what to do, maybe this has already bee answered before I have a sheet full of data - over 20,000 rows right now and it get longer each month. I need a macro that will pull out any row of data tha has a date value between two that I select. I need this data for ad-ho reports. I sorry if this is confusing. Basically on sheet1 in "A1" an "A2" I would put two dates. Then it would pull out any row that has a dat in column A that is between these two dates and paste it on sheet2. Tha sheet with all the data is sheet3 If there is a way to do this that would be great as I have to pull alot o stuff out of this and this would save me alot of time sorting and searching. Thanks for taking the time to look at this and for any help that you can provide. Thanks, Randy Walker |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi
Try Selection.AutoFilter Field:=1, Criteria1:="=" & DateTwo, Operator:=xlAnd, _ Criteria2:="<=" & DateOne regards Paul Randy Walker wrote in message ... Ok, first thanks for what you have given me so far. With alot of help I think I have this very close to being correct. I took what you gave me and got alot of help, and used a couple of books. Here is what I have Sub OpenMonthlyChart() Application.ScreenUpdating = False Dim FirstLetter As String Dim LastLetter As String Dim DateOne As Long Dim DateTwo As Long Workbooks.Open Filename:= _ ThisWorkbook.Path & "\ProgramData\FileData\StoredData\ExecutiveSummary Reports\MonthlySummary\Report.xls" Windows("MainFile.xls").Activate Sheets("DataSheet1").Select FirstLetter = Range("D15").Value LastLetter = Range("E15").Value DateOne = Range("D12").Value DateTwo = Range("D10").Value Columns("P:T").Select Selection.ClearContents With Windows("Report.xls") Columns(FirstLetter & ":" & LastLetter).Select With Selection .AutoFilter Field:=1, Criteria1:="=" & DateTwo, Operator:=xlAnd .AutoFilter Field:=1, Criteria1:="<=" & DateOne, Operator:=xlAnd End With .Cells.SpecialCells(xlCellTypeVisible).Copy Windows("TIPSData.xls").Activate Sheets("Data1").Activate Range("P1").Select ActiveSheet.Paste Application.CutCopyMode = False '.Range("A1").EntireRow.Delete End With The problem is I am getting an error in the area with the "with" and the "autofilter". It is telling me something about not having any data but I know that I do. The only thing I have changed from what you provided is that the area to pull data from is set by two variables and the date ranges are set by two variables. The local computer guy helped me get this far but now even he confused. And to be honest I don't know how much he really knew to begin with (if you see this, sorry Rob, just me being frustrated). Anyway, any further assistance you can give me would be greatly appreciated, as I am just not sure what might be wrong. Thanks, Randy Walker ----- Bob Phillips wrote: ----- Hi Randy, Here's some code that will capture all rows with dates between 9th Jan in column A, and 3rd Feb in column B Worksheets("Sheet2").Cells.ClearContents With Worksheets("Sheet3") .Range("A1").EntireRow.Insert With .Columns("A:B") .AutoFilter Field:=1, Criteria1:="=09-Jan", Operator:=xlAnd .AutoFilter Field:=2, Criteria1:="<=03-Feb", Operator:=xlAnd End With .Cells.SpecialCells(xlCellTypeVisible).Copy Worksheets("Sheet2").Activate Range("A1").Select ActiveSheet.Paste Application.CutCopyMode = False .Range("A1").EntireRow.Delete .Range("A1").EntireRow.Delete End With -- HTH Bob Phillips ... looking out across Poole Harbour to the Purbecks (remove nothere from the email address if mailing direct) "Randy Walker" wrote in message ... I know a little about this excel and less about programming but was directed here by a friend to try and find an answer. I have looked through the posts but can't find anything that seems to answer my question. Although since I am not exactly sure what to do, maybe this has already been answered before. I have a sheet full of data - over 20,000 rows right now and it gets longer each month. I need a macro that will pull out any row of data that has a date value between two that I select. I need this data for ad-hoc reports. I sorry if this is confusing. Basically on sheet1 in "A1" and "A2" I would put two dates. Then it would pull out any row that has a date in column A that is between these two dates and paste it on sheet2. That sheet with all the data is sheet3. If there is a way to do this that would be great as I have to pull alot of stuff out of this and this would save me alot of time sorting and searching. Thanks for taking the time to look at this and for any help that you can provide. Thanks, Randy Walker |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Follow up on date function question | Excel Worksheet Functions | |||
Getting links to follow inserted rows | Links and Linking in Excel | |||
Inserting rows and having the formula follow | New Users to Excel | |||
extract data from a range of cells in rows or columns when a date. | Excel Worksheet Functions | |||
Extract Rows By Date | Excel Programming |