Solved

VBA Function for finding Excel maxrows

Posted on 2012-03-29
8
284 Views
Last Modified: 2012-03-30
I am trying to figure out how to test the version number/type of a workbook and then return what the maximum number of rows that workbook can take using a function in VBA.  Does such a thing exist?
0
Comment
Question by:simonwait
  • 3
  • 2
  • 2
  • +1
8 Comments
 
LVL 43

Accepted Solution

by:
Saqib Husain, Syed earned 500 total points
ID: 37784144
activesheet.rows.count

will give you the rows in the active sheet.
0
 
LVL 40

Expert Comment

by:Kyle Abrahams
ID: 37784174
http://www.mrexcel.com/forum/showthread.php?t=357733

dim MaxRows as int
if application.version >= 12.0 then
     'code goes here
MaxRows = 1048576
else
   maxRows = 65536
 end if

http://vbadud.blogspot.com/2010/02/maximum-limit-of-rows-columns-etc-in.html
0
 
LVL 1

Author Comment

by:simonwait
ID: 37784183
Thanks, what I needed to check was the maximum number of rows I could use before the excel limits for that version kicked in (ie Excel 2010 = 1,048,576 lines but 97 is 16,384).  I figured out a way but it may not be accurate?  Any thoughts?
excelver = ActiveWorkbook.FileFormat
Select Case excelver
Case 50 Or 51 Or 52
excelmaxrows = 1048576
Case 56
excelmaxrows = 65536
Case Else
excelmaxrows = 16384
End Select

Open in new window

0
 
LVL 1

Author Comment

by:simonwait
ID: 37784189
Thanks for that ged325 but what if I am looking at a 2003 xls on Excel 2010?  wouldnt that show as 1048576 rows were possible not 65536?
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 43

Expert Comment

by:Saqib Husain, Syed
ID: 37784198
You do not need all that. Simply

Sheets("Sheet1").rows.count

will give the number of rows in that sheet.
0
 
LVL 17

Expert Comment

by:andrewssd3
ID: 37784317
As Saqib says you can use ActiveSheet.Rows.Count, or you can use Application.Rows.Count, which will return the higher or lower number depending on the capabilities of the active workbook.  You should always use these properties rather than literals - who knows what the limit will be in the next version of Excel - some time it will go up to 2,147,483,648!
0
 
LVL 40

Expert Comment

by:Kyle Abrahams
ID: 37784390
I forgot about the rows.count function . . . that's the most efficient and guaranteed to return the correct number every time . . . most likely the best way to go.
0
 
LVL 1

Author Comment

by:simonwait
ID: 37785997
Ah sorry, thats the trouble with assumption!  I assumed that it was the same as activesheet.usedrange.rows.count.  Should have stopped and thought...
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Drop Down List with Unique/Distinct Values (enhancing the Combo-Box with a few steps and a little code) David miller (dlmille) Intro Have you ever created a data validation list from a database field or spreadsheet column (e.g., Zip Codes or Co…
Workbook link problems after copying tabs to a new workbook? David Miller (dlmille) Intro Have you either copied sheets to a new workbook, and after having saved and opened that workbook, you find that there are links back to the original sou…
The viewer will learn how to use the =DISCRINV command to create a discrete random variable, use this command to model a set of probabilities and outcomes in a Monte Carlo simulation, and learn how to find the standard deviation of a set of probabil…
This Micro Tutorial demonstrates how to create Excel charts: column, area, line, bar, and scatter charts. Formatting tips are provided as well.

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now