ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   data between the dates (https://www.excelbanter.com/excel-programming/361330-data-between-dates.html)

Purnima Sharma[_2_]

data between the dates
 
I have a worksheet from which I have to select the rows where the setup date
is between 5/1/06 and 5/31/06 and delete all other rows. How can I achieve
that programmatically? Also, how can I apply multiple conditions to get the
same results. Thanks.
Purnima

Bob Phillips[_6_]

data between the dates
 
Sub Test()
Dim iLastRow As Long
Dim i As Long

iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = iLastRow To 1 Step -1
If Cells(i, "A").Value = DateSerial(2006, 4, 1) And _
Cells(i, "A").Value <= DateSerial(2006, 4, 31) Then
Rows(i).Delete
End If
Next i

End Sub


--

HTH

Bob Phillips

(remove nothere from the email address if mailing direct)

"Purnima Sharma" wrote in message
...
I have a worksheet from which I have to select the rows where the setup

date
is between 5/1/06 and 5/31/06 and delete all other rows. How can I achieve
that programmatically? Also, how can I apply multiple conditions to get

the
same results. Thanks.
Purnima




Purnima Sharma[_2_]

data between the dates
 
Thanks a lot!
Purnima

"Bob Phillips" wrote:

Sub Test()
Dim iLastRow As Long
Dim i As Long

iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = iLastRow To 1 Step -1
If Cells(i, "A").Value = DateSerial(2006, 4, 1) And _
Cells(i, "A").Value <= DateSerial(2006, 4, 31) Then
Rows(i).Delete
End If
Next i

End Sub


--

HTH

Bob Phillips

(remove nothere from the email address if mailing direct)

"Purnima Sharma" wrote in message
...
I have a worksheet from which I have to select the rows where the setup

date
is between 5/1/06 and 5/31/06 and delete all other rows. How can I achieve
that programmatically? Also, how can I apply multiple conditions to get

the
same results. Thanks.
Purnima





Purnima Sharma[_2_]

data between the dates
 
Hi Bob,

The code doesn't work. What am I doing wrong? My code is as follows:

Sub Macro1()

Dim iLastRow As Long
Dim i As Long

iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = iLastRow To 1 Step -1
If Cells(i, "H").Value < DateSerial(2006, 5, 1) And _
Cells(i, "H").Value DateSerial(2006, 5, 31) Then
Rows(i).Delete
End If
Next i


End Sub

Where column "H" is the setup date and I want all the rows to be deleted
except where col. H's value is in May. Column A is the loan number (non
blank) which determines end of the row. Thanks for your help.

Purnima

"Bob Phillips" wrote:

Sub Test()
Dim iLastRow As Long
Dim i As Long

iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = iLastRow To 1 Step -1
If Cells(i, "A").Value = DateSerial(2006, 4, 1) And _
Cells(i, "A").Value <= DateSerial(2006, 4, 31) Then
Rows(i).Delete
End If
Next i

End Sub


--

HTH

Bob Phillips

(remove nothere from the email address if mailing direct)

"Purnima Sharma" wrote in message
...
I have a worksheet from which I have to select the rows where the setup

date
is between 5/1/06 and 5/31/06 and delete all other rows. How can I achieve
that programmatically? Also, how can I apply multiple conditions to get

the
same results. Thanks.
Purnima





Bob Phillips[_6_]

data between the dates
 
Change it all

Sub Macro1()

Dim iLastRow As Long
Dim i As Long

iLastRow = Cells(Rows.Count, "H").End(xlUp).Row
For i = iLastRow To 1 Step -1
If Cells(i, "H").Value < DateSerial(2006, 5, 1) And _
Cells(i, "H").Value DateSerial(2006, 5, 31) Then
Rows(i).Delete
End If
Next i

End Sub


--

HTH

Bob Phillips

(remove nothere from the email address if mailing direct)

"Purnima Sharma" wrote in message
...
Hi Bob,

The code doesn't work. What am I doing wrong? My code is as follows:

Sub Macro1()

Dim iLastRow As Long
Dim i As Long

iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = iLastRow To 1 Step -1
If Cells(i, "H").Value < DateSerial(2006, 5, 1) And _
Cells(i, "H").Value DateSerial(2006, 5, 31) Then
Rows(i).Delete
End If
Next i


End Sub

Where column "H" is the setup date and I want all the rows to be deleted
except where col. H's value is in May. Column A is the loan number (non
blank) which determines end of the row. Thanks for your help.

Purnima

"Bob Phillips" wrote:

Sub Test()
Dim iLastRow As Long
Dim i As Long

iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = iLastRow To 1 Step -1
If Cells(i, "A").Value = DateSerial(2006, 4, 1) And _
Cells(i, "A").Value <= DateSerial(2006, 4, 31) Then
Rows(i).Delete
End If
Next i

End Sub


--

HTH

Bob Phillips

(remove nothere from the email address if mailing direct)

"Purnima Sharma" wrote in

message
...
I have a worksheet from which I have to select the rows where the

setup
date
is between 5/1/06 and 5/31/06 and delete all other rows. How can I

achieve
that programmatically? Also, how can I apply multiple conditions to

get
the
same results. Thanks.
Purnima







Purnima Sharma[_2_]

data between the dates
 
I am sorry, your previous code did work, but since it is a very long file, it
takes for ever. When I coded it to show the rowcount it was showing on the
status bar.

When I use your newer code, nothing happens. Probably, because there are lot
of null vales in that column, so I think it stops wherever it sees a blank
(considering it as end of the file). I have to use column A because that is
the only column where there are no null values. Since it is a very long file,
is there any way to avoid loop. Is there any way to write SQL to achieve the
same functionality. Thanks for all your help.

Purnima

"Bob Phillips" wrote:

Change it all

Sub Macro1()

Dim iLastRow As Long
Dim i As Long

iLastRow = Cells(Rows.Count, "H").End(xlUp).Row
For i = iLastRow To 1 Step -1
If Cells(i, "H").Value < DateSerial(2006, 5, 1) And _
Cells(i, "H").Value DateSerial(2006, 5, 31) Then
Rows(i).Delete
End If
Next i

End Sub


--

HTH

Bob Phillips

(remove nothere from the email address if mailing direct)

"Purnima Sharma" wrote in message
...
Hi Bob,

The code doesn't work. What am I doing wrong? My code is as follows:

Sub Macro1()

Dim iLastRow As Long
Dim i As Long

iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = iLastRow To 1 Step -1
If Cells(i, "H").Value < DateSerial(2006, 5, 1) And _
Cells(i, "H").Value DateSerial(2006, 5, 31) Then
Rows(i).Delete
End If
Next i


End Sub

Where column "H" is the setup date and I want all the rows to be deleted
except where col. H's value is in May. Column A is the loan number (non
blank) which determines end of the row. Thanks for your help.

Purnima

"Bob Phillips" wrote:

Sub Test()
Dim iLastRow As Long
Dim i As Long

iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = iLastRow To 1 Step -1
If Cells(i, "A").Value = DateSerial(2006, 4, 1) And _
Cells(i, "A").Value <= DateSerial(2006, 4, 31) Then
Rows(i).Delete
End If
Next i

End Sub


--

HTH

Bob Phillips

(remove nothere from the email address if mailing direct)

"Purnima Sharma" wrote in

message
...
I have a worksheet from which I have to select the rows where the

setup
date
is between 5/1/06 and 5/31/06 and delete all other rows. How can I

achieve
that programmatically? Also, how can I apply multiple conditions to

get
the
same results. Thanks.
Purnima







Bob Phillips[_6_]

data between the dates
 
You said it didn't work!

This might be quicker

Sub Macro1()
Dim rng As Range
Dim iLastRow As Long
Dim i As Long

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = iLastRow To 1 Step -1
If Cells(i, "H").Value < DateSerial(2006, 5, 1) And _
Cells(i, "H").Value DateSerial(2006, 5, 31) Then
If rng Is Nothing Then
Set rng = Rows(i)
Else
Set rng = Union(rng, Rows(i))
End If
End If
Next i

If Not rng Is Nothing Then
rng.Delete
End If

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

End Sub


--

HTH

Bob Phillips

(remove nothere from the email address if mailing direct)

"Purnima Sharma" wrote in message
...
I am sorry, your previous code did work, but since it is a very long file,

it
takes for ever. When I coded it to show the rowcount it was showing on the
status bar.

When I use your newer code, nothing happens. Probably, because there are

lot
of null vales in that column, so I think it stops wherever it sees a blank
(considering it as end of the file). I have to use column A because that

is
the only column where there are no null values. Since it is a very long

file,
is there any way to avoid loop. Is there any way to write SQL to achieve

the
same functionality. Thanks for all your help.

Purnima

"Bob Phillips" wrote:

Change it all

Sub Macro1()

Dim iLastRow As Long
Dim i As Long

iLastRow = Cells(Rows.Count, "H").End(xlUp).Row
For i = iLastRow To 1 Step -1
If Cells(i, "H").Value < DateSerial(2006, 5, 1) And _
Cells(i, "H").Value DateSerial(2006, 5, 31) Then
Rows(i).Delete
End If
Next i

End Sub


--

HTH

Bob Phillips

(remove nothere from the email address if mailing direct)

"Purnima Sharma" wrote in

message
...
Hi Bob,

The code doesn't work. What am I doing wrong? My code is as follows:

Sub Macro1()

Dim iLastRow As Long
Dim i As Long

iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = iLastRow To 1 Step -1
If Cells(i, "H").Value < DateSerial(2006, 5, 1) And _
Cells(i, "H").Value DateSerial(2006, 5, 31) Then
Rows(i).Delete
End If
Next i


End Sub

Where column "H" is the setup date and I want all the rows to be

deleted
except where col. H's value is in May. Column A is the loan number

(non
blank) which determines end of the row. Thanks for your help.

Purnima

"Bob Phillips" wrote:

Sub Test()
Dim iLastRow As Long
Dim i As Long

iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = iLastRow To 1 Step -1
If Cells(i, "A").Value = DateSerial(2006, 4, 1) And _
Cells(i, "A").Value <= DateSerial(2006, 4, 31) Then
Rows(i).Delete
End If
Next i

End Sub


--

HTH

Bob Phillips

(remove nothere from the email address if mailing direct)

"Purnima Sharma" wrote in

message
...
I have a worksheet from which I have to select the rows where the

setup
date
is between 5/1/06 and 5/31/06 and delete all other rows. How can I

achieve
that programmatically? Also, how can I apply multiple conditions

to
get
the
same results. Thanks.
Purnima










All times are GMT +1. The time now is 01:50 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com