Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I've used the code below that was suggested to delete all of the old
data from a worksheet and hopefully reset the UsedRange back to just the height of the header row but when I check the UsedRange of the worksheet I still get 65536 as the used rows. Hence when I try to loop through my code it tries to test all 65536 Rows. IDEAS? Here is the code below. I only want to test the used range of the worksheet, I can't test for a blank row since many exist in the document. I just need the last row of data. First_Row = 3 Application.Worksheets("Work Sheet").Rows(First_Row).Resize(65536 - First_Row).EntireRow.Delete Debug.Print Application.Worksheets("Work Sheet").Rows.Count |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
641 is the right answer???
|
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
It is the right number of rows.
-- Regards, Tom Ogilvy "HotRod" wrote in message ... 641 is the right answer??? |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Why in the following example do I get two differnet answers. Whats the
difference between the two? Set Rng = Worksheets("Main Sheet").UsedRange.Rows Main_Sheet_Count = Worksheets("Main Sheet").UsedRange.Count Debug.Print Main_Sheet_Count = 7692 Debug.Print Rng.Rows.Count = 641 |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Because you usedrange has multiple columns.
count is #rows x #columns -- Regards, Tom Ogilvy "HotRod" wrote in message ... Why in the following example do I get two differnet answers. Whats the difference between the two? Set Rng = Worksheets("Main Sheet").UsedRange.Rows Main_Sheet_Count = Worksheets("Main Sheet").UsedRange.Count Debug.Print Main_Sheet_Count = 7692 Debug.Print Rng.Rows.Count = 641 |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
that alone doesn't reset the Usedrange. It is just required.
This worked for me: Sub ResetUsed() Debug.Print "Work sheet: " & Application. _ Worksheets("Work Sheet").UsedRange.Rows.Count First_Row = 3 With Application.Worksheets("Work Sheet") .Rows(First_Row + 1).Resize(65536 - _ First_Row).EntireRow.Delete .UsedRange End With Debug.Print "Work sheet: " & Application. _ Worksheets("Work Sheet").UsedRange.Rows.Count End Sub this ? activesheet.rows.count 65536 always returns the total rows in a sheet which is always 65536 - it has nothing to do with the used range. -- Regards, Tom Ogilvy "HotRod" wrote in message ... I've used the code below that was suggested to delete all of the old data from a worksheet and hopefully reset the UsedRange back to just the height of the header row but when I check the UsedRange of the worksheet I still get 65536 as the used rows. Hence when I try to loop through my code it tries to test all 65536 Rows. IDEAS? Here is the code below. I only want to test the used range of the worksheet, I can't test for a blank row since many exist in the document. I just need the last row of data. First_Row = 3 Application.Worksheets("Work Sheet").Rows(First_Row).Resize(65536 - First_Row).EntireRow.Delete Debug.Print Application.Worksheets("Work Sheet").Rows.Count |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks Tom, your explanation explains a few things. GREAT
|
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
How can change range to select active rows instead of :=Range("S10 | Excel Discussion (Misc queries) | |||
formula to sort a range so that it matches the exact rows of a column that is outside that range? | Excel Discussion (Misc queries) | |||
Range of even/odd rows | Excel Programming | |||
Rows in a Range | Excel Programming | |||
group rows in a range based on criteria from another range (vba) | Excel Programming |