Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Is there a macro command to rest the worksheet region/range after deleting
several rows. After I delete and then go to last cell or current region, it still shows the area before the delete. Thanks for your help. |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
If you "cleared" instead of deleting, delete and then SAVE. Try it.
-- Don Guillett SalesAid Software "DeanT" wrote in message ... Is there a macro command to rest the worksheet region/range after deleting several rows. After I delete and then go to last cell or current region, it still shows the area before the delete. Thanks for your help. |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I used the following to delete row.
Sub delete_sme_rows() Dim r As Range, j As Long Set r = ActiveSheet.UsedRange j = r.Rows.Count + r.Row Set rdel = Cells(j, "A") For i = 1 To j - 1 If Cells(i, "C").Value = "SME" Then Set rdel = Union(rdel, Cells(i, "A")) End If Next rdel.EntireRow.Delete End Sub Can I reset without saving so the next macro in line will know the correct region? "Don Guillett" wrote: If you "cleared" instead of deleting, delete and then SAVE. Try it. -- Don Guillett SalesAid Software "DeanT" wrote in message ... Is there a macro command to rest the worksheet region/range after deleting several rows. After I delete and then go to last cell or current region, it still shows the area before the delete. Thanks for your help. |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Can I reset without saving so the next macro in line will know
the correct region? Hi. Use ActiveSheet.UsedRange at the end of your code. It's still buggy in 2003, but should work for what you are doing. -- Dana DeLouis Windows XP & Office 2003 "DeanT" wrote in message ... I used the following to delete row. Sub delete_sme_rows() Dim r As Range, j As Long Set r = ActiveSheet.UsedRange j = r.Rows.Count + r.Row Set rdel = Cells(j, "A") For i = 1 To j - 1 If Cells(i, "C").Value = "SME" Then Set rdel = Union(rdel, Cells(i, "A")) End If Next rdel.EntireRow.Delete End Sub Can I reset without saving so the next macro in line will know the correct region? "Don Guillett" wrote: If you "cleared" instead of deleting, delete and then SAVE. Try it. -- Don Guillett SalesAid Software "DeanT" wrote in message ... Is there a macro command to rest the worksheet region/range after deleting several rows. After I delete and then go to last cell or current region, it still shows the area before the delete. Thanks for your help. |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Just an after thought type comment about your code. You might want to
consider changing the + r.row to just + 1. You have r set to UsedRange which could be many rows, however, it seems that r.row only gives you a value of 1 anyhow. It would not change the results, but it would make more sense. "Don Guillett" wrote: If you "cleared" instead of deleting, delete and then SAVE. Try it. -- Don Guillett SalesAid Software "DeanT" wrote in message ... Is there a macro command to rest the worksheet region/range after deleting several rows. After I delete and then go to last cell or current region, it still shows the area before the delete. Thanks for your help. |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
You appear to have the mistaken impression that the usedrange always starts
with first row. Just to demonstrate from the immediate window: set r = Activesheet.UsedRange ? r.row 22 so your suggestion is based on a false premise. While most of the time it would be true, the whole point of using r.row is to account for the fact that it may not. -- Regards, Tom Ogilvy "JLGWhiz" wrote in message ... Just an after thought type comment about your code. You might want to consider changing the + r.row to just + 1. You have r set to UsedRange which could be many rows, however, it seems that r.row only gives you a value of 1 anyhow. It would not change the results, but it would make more sense. "Don Guillett" wrote: If you "cleared" instead of deleting, delete and then SAVE. Try it. -- Don Guillett SalesAid Software "DeanT" wrote in message ... Is there a macro command to rest the worksheet region/range after deleting several rows. After I delete and then go to last cell or current region, it still shows the area before the delete. Thanks for your help. |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Tom, My comments were based on the fact that r was set to used range and used
range will consider all cells in the workbook that contain data. When testing his macro I noticed that the value of r.row varied with different iterations until I cleared the entire worksheet and started fresh. It just seemed to me that r.row was sort of a loose way to get the number he needs. "Tom Ogilvy" wrote: You appear to have the mistaken impression that the usedrange always starts with first row. Just to demonstrate from the immediate window: set r = Activesheet.UsedRange ? r.row 22 so your suggestion is based on a false premise. While most of the time it would be true, the whole point of using r.row is to account for the fact that it may not. -- Regards, Tom Ogilvy "JLGWhiz" wrote in message ... Just an after thought type comment about your code. You might want to consider changing the + r.row to just + 1. You have r set to UsedRange which could be many rows, however, it seems that r.row only gives you a value of 1 anyhow. It would not change the results, but it would make more sense. "Don Guillett" wrote: If you "cleared" instead of deleting, delete and then SAVE. Try it. -- Don Guillett SalesAid Software "DeanT" wrote in message ... Is there a macro command to rest the worksheet region/range after deleting several rows. After I delete and then go to last cell or current region, it still shows the area before the delete. Thanks for your help. |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
seemed to me that r.row was sort of a loose way to get the number he
needs. As the OP showed it, to get the last row of the used range, it is a widely used method and certainly nothing wrong with it. -- Regards, Tom Ogilvy "JLGWhiz" wrote in message ... Tom, My comments were based on the fact that r was set to used range and used range will consider all cells in the workbook that contain data. When testing his macro I noticed that the value of r.row varied with different iterations until I cleared the entire worksheet and started fresh. It just seemed to me that r.row was sort of a loose way to get the number he needs. "Tom Ogilvy" wrote: You appear to have the mistaken impression that the usedrange always starts with first row. Just to demonstrate from the immediate window: set r = Activesheet.UsedRange ? r.row 22 so your suggestion is based on a false premise. While most of the time it would be true, the whole point of using r.row is to account for the fact that it may not. -- Regards, Tom Ogilvy "JLGWhiz" wrote in message ... Just an after thought type comment about your code. You might want to consider changing the + r.row to just + 1. You have r set to UsedRange which could be many rows, however, it seems that r.row only gives you a value of 1 anyhow. It would not change the results, but it would make more sense. "Don Guillett" wrote: If you "cleared" instead of deleting, delete and then SAVE. Try it. -- Don Guillett SalesAid Software "DeanT" wrote in message ... Is there a macro command to rest the worksheet region/range after deleting several rows. After I delete and then go to last cell or current region, it still shows the area before the delete. Thanks for your help. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
x y scatter chart series ranges reset to x(range) = y(range) | Charts and Charting in Excel | |||
Delete Insert Worksheet on Open/Reset on Close | Excel Programming | |||
Menus Delete vs Reset | Excel Programming | |||
Add/Delete Worksheets and Reset Numbering | Excel Programming | |||
Loop thru files in DIR, delete worksheets & reset worksheet Name property?? | Excel Programming |