Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 137
Default Select and Delete

Following code was adopted from thread and modified to select rows with €œY€
in column I. The problem is not all rows with €œY€ are deleted when range of
rows has found €œY€ (say row 10 to 16 all has Y), it is fine if single row is
found with €œY€.
Sheets("Data").Select
lastrow = Cells(Rows.Count, "B").End(xlUp).Row
Range("I1").Formula = "=if(and(RC[-8]=DataInput!R1C1,RC[-4]=""Spot
Deal""),""Y"",""N"")"
Range("I1").Copy
Range("I1:I" & lastrow).Select
ActiveSheet.Paste
lastrow = Cells(Rows.Count, "I").End(xlUp).Row
Set myrange = Range("I2:I" & lastrow)
For Each Count In myrange
If Count.Value = "Y" Then
Count.EntireRow.Delete
End If
Next

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 8,520
Default Select and Delete

The reason for error is because once you delete the row number shifts..

Try the below version.If you are looking to delete these rows then you dont
need a formula to be assigned...You can validate that in code and delete the
row

Sub Macro()
Dim lngRow As Long, lngLastRow As Long
lngLastRow = Cells(Rows.Count, "B").End(xlUp).Row
For lngRow = lngLastRow To 2 Step -1
If Sheets("DataInput").Range("A1") = Range("A" & lngRow) And _
Range("E" & lngRow) = "Spot Deal" Then Row(lngRow).Delete
End If
Next
End Sub

If this post helps click Yes
---------------
Jacob Skaria


"Seeker" wrote:

Following code was adopted from thread and modified to select rows with €œY€
in column I. The problem is not all rows with €œY€ are deleted when range of
rows has found €œY€ (say row 10 to 16 all has Y), it is fine if single row is
found with €œY€.
Sheets("Data").Select
lastrow = Cells(Rows.Count, "B").End(xlUp).Row
Range("I1").Formula = "=if(and(RC[-8]=DataInput!R1C1,RC[-4]=""Spot
Deal""),""Y"",""N"")"
Range("I1").Copy
Range("I1:I" & lastrow).Select
ActiveSheet.Paste
lastrow = Cells(Rows.Count, "I").End(xlUp).Row
Set myrange = Range("I2:I" & lastrow)
For Each Count In myrange
If Count.Value = "Y" Then
Count.EntireRow.Delete
End If
Next

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 137
Default Select and Delete

Hi Jacob,
Thanks for your prompt reply and sorry for the duplicated post as it showed
€œservices was temporary suspended€ on first thread.
Debug stopped at 4th line and highlighted Range €“ the one before(€œE€ &
IngRow) saying not define Sub or Function?
Rgds


"Jacob Skaria" wrote:

The reason for error is because once you delete the row number shifts..

Try the below version.If you are looking to delete these rows then you dont
need a formula to be assigned...You can validate that in code and delete the
row

Sub Macro()
Dim lngRow As Long, lngLastRow As Long
lngLastRow = Cells(Rows.Count, "B").End(xlUp).Row
For lngRow = lngLastRow To 2 Step -1
If Sheets("DataInput").Range("A1") = Range("A" & lngRow) And _
Range("E" & lngRow) = "Spot Deal" Then Row(lngRow).Delete
End If
Next
End Sub

If this post helps click Yes
---------------
Jacob Skaria


"Seeker" wrote:

Following code was adopted from thread and modified to select rows with €œY€
in column I. The problem is not all rows with €œY€ are deleted when range of
rows has found €œY€ (say row 10 to 16 all has Y), it is fine if single row is
found with €œY€.
Sheets("Data").Select
lastrow = Cells(Rows.Count, "B").End(xlUp).Row
Range("I1").Formula = "=if(and(RC[-8]=DataInput!R1C1,RC[-4]=""Spot
Deal""),""Y"",""N"")"
Range("I1").Copy
Range("I1:I" & lastrow).Select
ActiveSheet.Paste
lastrow = Cells(Rows.Count, "I").End(xlUp).Row
Set myrange = Range("I2:I" & lastrow)
For Each Count In myrange
If Count.Value = "Y" Then
Count.EntireRow.Delete
End If
Next

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 137
Default Select and Delete

Hi Jacob,
I found the reason, changed Row(IngRow).Delete to Rows(IngRow).Delete, now
it works. Thanks very much.
Rgds

"Seeker" wrote:

Hi Jacob,
Thanks for your prompt reply and sorry for the duplicated post as it showed
€œservices was temporary suspended€ on first thread.
Debug stopped at 4th line and highlighted Range €“ the one before(€œE€ &
IngRow) saying not define Sub or Function?
Rgds


"Jacob Skaria" wrote:

The reason for error is because once you delete the row number shifts..

Try the below version.If you are looking to delete these rows then you dont
need a formula to be assigned...You can validate that in code and delete the
row

Sub Macro()
Dim lngRow As Long, lngLastRow As Long
lngLastRow = Cells(Rows.Count, "B").End(xlUp).Row
For lngRow = lngLastRow To 2 Step -1
If Sheets("DataInput").Range("A1") = Range("A" & lngRow) And _
Range("E" & lngRow) = "Spot Deal" Then Row(lngRow).Delete
End If
Next
End Sub

If this post helps click Yes
---------------
Jacob Skaria


"Seeker" wrote:

Following code was adopted from thread and modified to select rows with €œY€
in column I. The problem is not all rows with €œY€ are deleted when range of
rows has found €œY€ (say row 10 to 16 all has Y), it is fine if single row is
found with €œY€.
Sheets("Data").Select
lastrow = Cells(Rows.Count, "B").End(xlUp).Row
Range("I1").Formula = "=if(and(RC[-8]=DataInput!R1C1,RC[-4]=""Spot
Deal""),""Y"",""N"")"
Range("I1").Copy
Range("I1:I" & lastrow).Select
ActiveSheet.Paste
lastrow = Cells(Rows.Count, "I").End(xlUp).Row
Set myrange = Range("I2:I" & lastrow)
For Each Count In myrange
If Count.Value = "Y" Then
Count.EntireRow.Delete
End If
Next

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 8,520
Default Select and Delete

Cheers.

If this post helps click Yes
---------------
Jacob Skaria


"Seeker" wrote:

Hi Jacob,
I found the reason, changed Row(IngRow).Delete to Rows(IngRow).Delete, now
it works. Thanks very much.
Rgds

"Seeker" wrote:

Hi Jacob,
Thanks for your prompt reply and sorry for the duplicated post as it showed
€œservices was temporary suspended€ on first thread.
Debug stopped at 4th line and highlighted Range €“ the one before(€œE€ &
IngRow) saying not define Sub or Function?
Rgds


"Jacob Skaria" wrote:

The reason for error is because once you delete the row number shifts..

Try the below version.If you are looking to delete these rows then you dont
need a formula to be assigned...You can validate that in code and delete the
row

Sub Macro()
Dim lngRow As Long, lngLastRow As Long
lngLastRow = Cells(Rows.Count, "B").End(xlUp).Row
For lngRow = lngLastRow To 2 Step -1
If Sheets("DataInput").Range("A1") = Range("A" & lngRow) And _
Range("E" & lngRow) = "Spot Deal" Then Row(lngRow).Delete
End If
Next
End Sub

If this post helps click Yes
---------------
Jacob Skaria


"Seeker" wrote:

Following code was adopted from thread and modified to select rows with €œY€
in column I. The problem is not all rows with €œY€ are deleted when range of
rows has found €œY€ (say row 10 to 16 all has Y), it is fine if single row is
found with €œY€.
Sheets("Data").Select
lastrow = Cells(Rows.Count, "B").End(xlUp).Row
Range("I1").Formula = "=if(and(RC[-8]=DataInput!R1C1,RC[-4]=""Spot
Deal""),""Y"",""N"")"
Range("I1").Copy
Range("I1:I" & lastrow).Select
ActiveSheet.Paste
lastrow = Cells(Rows.Count, "I").End(xlUp).Row
Set myrange = Range("I2:I" & lastrow)
For Each Count In myrange
If Count.Value = "Y" Then
Count.EntireRow.Delete
End If
Next



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to delete a 'Select Box' Bodin Excel Discussion (Misc queries) 1 April 28th 09 01:53 AM
Delete Row Select Case Little Penny[_3_] Excel Programming 8 January 21st 08 12:05 AM
Delete Select Targets Dathmar Excel Discussion (Misc queries) 1 August 24th 05 04:36 PM
How to select a row to delete Jeff Armstrong Excel Programming 2 November 12th 03 03:38 PM
Conditional Row Select and Delete jagstirling[_5_] Excel Programming 3 September 30th 03 08:46 AM


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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"