ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Need Help with ActiveCell.EntireRow.Delete (https://www.excelbanter.com/excel-discussion-misc-queries/195549-need-help-activecell-entirerow-delete.html)

Ayo

Need Help with ActiveCell.EntireRow.Delete
 
I have this subroutine that is supose to look through the cells in a column
and if the cell value is equal to the value in a cell in another sheet, the
entire row is to be deleted. I have about 2807 rows in the sheet. The problem
I am having is that, this seem to work for about half of the rows. I should
have 332 rows left after this operation but I have 1403 rows because most of
the rows that should have been deleted are not.
Any ideas what is going on.

Private Sub cmdCopy_Click()
Dim ClastRow As Integer, c As Range

Worksheets("BulkUploadReport 1 ").Delete
Windows("BulkUploadReport 1 .xls").Activate
Sheets("BulkUploadReport 1 ").Select
Sheets("BulkUploadReport 1 ").Copy After:=Workbooks("Vista.xls").Sheets(1)

Sheets("BulkUploadReport 1 ").Select
ClastRow = ActiveSheet.UsedRange.Rows.Count
For Each c In ActiveSheet.Range("E2:E" & ClastRow).Cells
c.Activate
If c < Worksheets("Sheet1").Range("I16").Value Then
ActiveCell.EntireRow.Delete
End If
Next c
End sub



Wigi

Need Help with ActiveCell.EntireRow.Delete
 
You need to start from below, then work upwards:


Private Sub cmdCopy_Click()

Dim ClastRow As Integer, c As Range, l As Long

Application.ScreenUpdating = False

Worksheets("BulkUploadReport 1 ").Delete
Windows("BulkUploadReport 1 .xls").Activate
Sheets("BulkUploadReport 1 ").Select
Sheets("BulkUploadReport 1 ").Copy After:=Workbooks("Vista.xls").Sheets(1)

Sheets("BulkUploadReport 1 ").Select
ClastRow = ActiveSheet.UsedRange.Rows.Count
For l = ClastRow To 2 Step -1

If Range("E" & l).Value < Worksheets("Sheet1").Range("I16").Value
Then
Rows(l).Delete
End If
Next c

Application.ScreenUpdating = True

End Sub



--
Wigi
http://www.wimgielis.be = Excel/VBA, soccer and music


"Ayo" wrote:

I have this subroutine that is supose to look through the cells in a column
and if the cell value is equal to the value in a cell in another sheet, the
entire row is to be deleted. I have about 2807 rows in the sheet. The problem
I am having is that, this seem to work for about half of the rows. I should
have 332 rows left after this operation but I have 1403 rows because most of
the rows that should have been deleted are not.
Any ideas what is going on.

Private Sub cmdCopy_Click()
Dim ClastRow As Integer, c As Range

Worksheets("BulkUploadReport 1 ").Delete
Windows("BulkUploadReport 1 .xls").Activate
Sheets("BulkUploadReport 1 ").Select
Sheets("BulkUploadReport 1 ").Copy After:=Workbooks("Vista.xls").Sheets(1)

Sheets("BulkUploadReport 1 ").Select
ClastRow = ActiveSheet.UsedRange.Rows.Count
For Each c In ActiveSheet.Range("E2:E" & ClastRow).Cells
c.Activate
If c < Worksheets("Sheet1").Range("I16").Value Then
ActiveCell.EntireRow.Delete
End If
Next c
End sub



Ayo

Need Help with ActiveCell.EntireRow.Delete
 
Someone suggested that yesteray and I tried it but I still ended up with the
same problem.

"Wigi" wrote:

You need to start from below, then work upwards:


Private Sub cmdCopy_Click()

Dim ClastRow As Integer, c As Range, l As Long

Application.ScreenUpdating = False

Worksheets("BulkUploadReport 1 ").Delete
Windows("BulkUploadReport 1 .xls").Activate
Sheets("BulkUploadReport 1 ").Select
Sheets("BulkUploadReport 1 ").Copy After:=Workbooks("Vista.xls").Sheets(1)

Sheets("BulkUploadReport 1 ").Select
ClastRow = ActiveSheet.UsedRange.Rows.Count
For l = ClastRow To 2 Step -1

If Range("E" & l).Value < Worksheets("Sheet1").Range("I16").Value
Then
Rows(l).Delete
End If
Next c

Application.ScreenUpdating = True

End Sub



--
Wigi
http://www.wimgielis.be = Excel/VBA, soccer and music


"Ayo" wrote:

I have this subroutine that is supose to look through the cells in a column
and if the cell value is equal to the value in a cell in another sheet, the
entire row is to be deleted. I have about 2807 rows in the sheet. The problem
I am having is that, this seem to work for about half of the rows. I should
have 332 rows left after this operation but I have 1403 rows because most of
the rows that should have been deleted are not.
Any ideas what is going on.

Private Sub cmdCopy_Click()
Dim ClastRow As Integer, c As Range

Worksheets("BulkUploadReport 1 ").Delete
Windows("BulkUploadReport 1 .xls").Activate
Sheets("BulkUploadReport 1 ").Select
Sheets("BulkUploadReport 1 ").Copy After:=Workbooks("Vista.xls").Sheets(1)

Sheets("BulkUploadReport 1 ").Select
ClastRow = ActiveSheet.UsedRange.Rows.Count
For Each c In ActiveSheet.Range("E2:E" & ClastRow).Cells
c.Activate
If c < Worksheets("Sheet1").Range("I16").Value Then
ActiveCell.EntireRow.Delete
End If
Next c
End sub



Ayo

Need Help with ActiveCell.EntireRow.Delete
 
Thanks Wigi.
I was able to modify your code and now it looks like its working.

"Wigi" wrote:

You need to start from below, then work upwards:


Private Sub cmdCopy_Click()

Dim ClastRow As Integer, c As Range, l As Long

Application.ScreenUpdating = False

Worksheets("BulkUploadReport 1 ").Delete
Windows("BulkUploadReport 1 .xls").Activate
Sheets("BulkUploadReport 1 ").Select
Sheets("BulkUploadReport 1 ").Copy After:=Workbooks("Vista.xls").Sheets(1)

Sheets("BulkUploadReport 1 ").Select
ClastRow = ActiveSheet.UsedRange.Rows.Count
For l = ClastRow To 2 Step -1

If Range("E" & l).Value < Worksheets("Sheet1").Range("I16").Value
Then
Rows(l).Delete
End If
Next c

Application.ScreenUpdating = True

End Sub



--
Wigi
http://www.wimgielis.be = Excel/VBA, soccer and music


"Ayo" wrote:

I have this subroutine that is supose to look through the cells in a column
and if the cell value is equal to the value in a cell in another sheet, the
entire row is to be deleted. I have about 2807 rows in the sheet. The problem
I am having is that, this seem to work for about half of the rows. I should
have 332 rows left after this operation but I have 1403 rows because most of
the rows that should have been deleted are not.
Any ideas what is going on.

Private Sub cmdCopy_Click()
Dim ClastRow As Integer, c As Range

Worksheets("BulkUploadReport 1 ").Delete
Windows("BulkUploadReport 1 .xls").Activate
Sheets("BulkUploadReport 1 ").Select
Sheets("BulkUploadReport 1 ").Copy After:=Workbooks("Vista.xls").Sheets(1)

Sheets("BulkUploadReport 1 ").Select
ClastRow = ActiveSheet.UsedRange.Rows.Count
For Each c In ActiveSheet.Range("E2:E" & ClastRow).Cells
c.Activate
If c < Worksheets("Sheet1").Range("I16").Value Then
ActiveCell.EntireRow.Delete
End If
Next c
End sub



Wigi

Need Help with ActiveCell.EntireRow.Delete
 
OK;, well done Ayo.

--
Wigi
http://www.wimgielis.be = Excel/VBA, soccer and music


"Ayo" wrote:

Thanks Wigi.
I was able to modify your code and now it looks like its working.

"Wigi" wrote:

You need to start from below, then work upwards:


Private Sub cmdCopy_Click()

Dim ClastRow As Integer, c As Range, l As Long

Application.ScreenUpdating = False

Worksheets("BulkUploadReport 1 ").Delete
Windows("BulkUploadReport 1 .xls").Activate
Sheets("BulkUploadReport 1 ").Select
Sheets("BulkUploadReport 1 ").Copy After:=Workbooks("Vista.xls").Sheets(1)

Sheets("BulkUploadReport 1 ").Select
ClastRow = ActiveSheet.UsedRange.Rows.Count
For l = ClastRow To 2 Step -1

If Range("E" & l).Value < Worksheets("Sheet1").Range("I16").Value
Then
Rows(l).Delete
End If
Next c

Application.ScreenUpdating = True

End Sub



--
Wigi
http://www.wimgielis.be = Excel/VBA, soccer and music


"Ayo" wrote:

I have this subroutine that is supose to look through the cells in a column
and if the cell value is equal to the value in a cell in another sheet, the
entire row is to be deleted. I have about 2807 rows in the sheet. The problem
I am having is that, this seem to work for about half of the rows. I should
have 332 rows left after this operation but I have 1403 rows because most of
the rows that should have been deleted are not.
Any ideas what is going on.

Private Sub cmdCopy_Click()
Dim ClastRow As Integer, c As Range

Worksheets("BulkUploadReport 1 ").Delete
Windows("BulkUploadReport 1 .xls").Activate
Sheets("BulkUploadReport 1 ").Select
Sheets("BulkUploadReport 1 ").Copy After:=Workbooks("Vista.xls").Sheets(1)

Sheets("BulkUploadReport 1 ").Select
ClastRow = ActiveSheet.UsedRange.Rows.Count
For Each c In ActiveSheet.Range("E2:E" & ClastRow).Cells
c.Activate
If c < Worksheets("Sheet1").Range("I16").Value Then
ActiveCell.EntireRow.Delete
End If
Next c
End sub




All times are GMT +1. The time now is 04:09 AM.

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