Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Wrong result returned by UsedRange.Rows.Count

I have been told that a colleague is having problems with
UsedRange.Rows.Count returning a very large value that far exceeds the
actual number of rows in the worksheet. Since we are iterating through
the rows, although there are work-arounds we can use to identify the end
of the data, it is a nuisance that this property seems to be unreliable.


Has anyone else had a similar problem? Does anyone know of a cause? Is
there a more reliable way of identifying the number of used rows in a
worksheet, in order to iterate through them?

I think that the code is currently running on Windows XP against Excel
2003, although it was originally developed and tested on Windows 2000
against Excel 2000. The object variables are all late bound.

Regards,
--
Jeff
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default Wrong result returned by UsedRange.Rows.Count

Hi j

Yes this is a problem
I always use a function to know the row number with the last data

Sub test()
MsgBox LastRow(ActiveSheet)
End Sub

Function LastRow(sh As Worksheet)
On Error Resume Next
LastRow = sh.Cells.Find(What:="*", _
After:=sh.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
End Function


You can also check one column
MsgBox Sheets("sheet1").Range("A" & Rows.Count).End(xlUp).Row


--
Regards Ron de Bruin
http://www.rondebruin.nl


"j" wrote in message ...
I have been told that a colleague is having problems with UsedRange.Rows.Count returning a very large value that far exceeds the
actual number of rows in the worksheet. Since we are iterating through the rows, although there are work-arounds we can use to
identify the end of the data, it is a nuisance that this property seems to be unreliable.


Has anyone else had a similar problem? Does anyone know of a cause? Is there a more reliable way of identifying the number of used
rows in a worksheet, in order to iterate through them?

I think that the code is currently running on Windows XP against Excel 2003, although it was originally developed and tested on
Windows 2000 against Excel 2000. The object variables are all late bound.

Regards,
--
Jeff



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,120
Default Wrong result returned by UsedRange.Rows.Count

See http://www.contextures.com/xlfaqApp.html#Unused

--
HTH

Bob Phillips

"j" wrote in message ...
I have been told that a colleague is having problems with
UsedRange.Rows.Count returning a very large value that far exceeds the
actual number of rows in the worksheet. Since we are iterating through
the rows, although there are work-arounds we can use to identify the end
of the data, it is a nuisance that this property seems to be unreliable.


Has anyone else had a similar problem? Does anyone know of a cause? Is
there a more reliable way of identifying the number of used rows in a
worksheet, in order to iterate through them?

I think that the code is currently running on Windows XP against Excel
2003, although it was originally developed and tested on Windows 2000
against Excel 2000. The object variables are all late bound.

Regards,
--
Jeff



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default Wrong result returned by UsedRange.Rows.Count

More info here
http://www.contextures.com/xlfaqApp.html#Unused



--
Regards Ron de Bruin
http://www.rondebruin.nl


"Ron de Bruin" wrote in message ...
Hi j

Yes this is a problem
I always use a function to know the row number with the last data

Sub test()
MsgBox LastRow(ActiveSheet)
End Sub

Function LastRow(sh As Worksheet)
On Error Resume Next
LastRow = sh.Cells.Find(What:="*", _
After:=sh.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
End Function


You can also check one column
MsgBox Sheets("sheet1").Range("A" & Rows.Count).End(xlUp).Row


--
Regards Ron de Bruin
http://www.rondebruin.nl


"j" wrote in message ...
I have been told that a colleague is having problems with UsedRange.Rows.Count returning a very large value that far exceeds the
actual number of rows in the worksheet. Since we are iterating through the rows, although there are work-arounds we can use to
identify the end of the data, it is a nuisance that this property seems to be unreliable.


Has anyone else had a similar problem? Does anyone know of a cause? Is there a more reliable way of identifying the number of
used rows in a worksheet, in order to iterate through them?

I think that the code is currently running on Windows XP against Excel 2003, although it was originally developed and tested on
Windows 2000 against Excel 2000. The object variables are all late bound.

Regards,
--
Jeff





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
Wrong output returned during IF function jb333 Excel Worksheet Functions 3 March 16th 09 04:44 PM
excel result return wrong calcuation result garyww Excel Worksheet Functions 0 August 14th 06 05:02 AM
Real Value of .UsedRange.Rows.Count dazman Excel Worksheet Functions 2 August 25th 05 03:24 PM
Problem with UsedRange.Rows.Count alainB[_15_] Excel Programming 4 April 29th 04 10:29 PM
Finding row count and filtered rows returned by Autofilter Joseph Uher Excel Programming 0 September 20th 03 08:49 PM


All times are GMT +1. The time now is 07:57 PM.

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

About Us

"It's about Microsoft Excel"