View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Bernie Deitrick Bernie Deitrick is offline
external usenet poster
 
Posts: 5,441
Default Date selection loop

Roger,

It would be simplest if you could insert a new column with a formula that
would give a unique identifier (it is simplest because I have a macro that
will do it, without me having to change the macro <vbg). Let's say that
you want to base the extraction on months: use the formula

=TEXT(A2,"mmmm")

where A2 is a cell in your column of Dates.

Then select a cell in your datatable, and use the macro below. Enter the
relative column number of your new column with months when prompted.

HTH,
Bernie
MS Excel MVP

Sub ExportDatabaseToSeparateSheets()
'Export is based on the value in the desired column
Dim myCell As Range
Dim mySht As Worksheet
Dim myName As String
Dim myArea As Range
Dim myShtName As String
Dim KeyCol As Integer

myShtName = ActiveSheet.Name
KeyCol = InputBox("What column # within database to use as key?")


Set myArea = ActiveCell.CurrentRegion.Columns(KeyCol).Offset(1, 0).Cells

Set myArea = myArea.Resize(myArea.Rows.Count - 1, 1)

For Each myCell In myArea
On Error GoTo NoSheet
myName = Worksheets(myCell.Value).Name
GoTo SheetExists:
NoSheet:
Set mySht = Worksheets.Add(befo=Worksheets(1))
mySht.Name = myCell.Value
With myCell.CurrentRegion
.AutoFilter Field:=KeyCol, Criteria1:=myCell.Value
.SpecialCells(xlCellTypeVisible).Copy _
mySht.Range("A1")
mySht.Cells.EntireColumn.AutoFit
.AutoFilter
End With
Resume
SheetExists:
Next myCell

End Sub


"Roger" wrote in message
...
I have a list of data that I would like to go through and
extract entire rows into other worksheets depending on a
date range. The data appears in colums A thru E and the
date is in colum C. Is there a loop that can be writen
that will seach colum C for certain date ranges and then
extract the entire row and place it in a new worksheet in
the same workbook. Ultimatly I would have 12 different
date ranges, creating 12 differnt worksheets. I've
exhausted my patients on trying to figuer it out myself.

thanks in advance
Roger