这不是一个workbook里面有多少张表吗,不是一张表里一页拥有多少行吧

解决方案 »

  1.   

    我有一个笨方法,如果从第一行开始,每行(的某一个关键字段)都会有值的,那么你可以用一个while循环来解决(VBA语句,你也可以转成Delphi):
      dim i as integer
      i=1
      while Sheets(1).Cells(i,1).value<>"" 
       i=i+1
      wend
      '现在的i就是行数了
      

  2.   

    上面的假设是有一个字段必须每行都有值的,比如学生统计表里的学生编号,我在做Excel宏时经常用这个语句。如果遇到中间有空行的,这个语句自然就不能用了,那时我通常想的是一个变通的方法:既然很难取得所有行数,那么我索性就不用这个值,而是换用其它的方法,比如通过一个循环来处理相邻的某几行,然后按照表的规律跳到下面的某一行,再从这一行开始重新循环。反正方法想一想真的很多。希望你在做东西时能感觉思路开拓一些。
      

  3.   

    方法一:worksheet.usedrange[0]二:var ir, ic : Integer;
     …… 
    wkSheet.Cells.SpecialCells(xlCellTypeLastCell,EmptyParam).Activate;
     ir := Excel.ActiveCell.Row; ic := Excel.ActiveCell.Column; 这里巧妙地利用特殊单元格函数SpecialCells取得包含数据的最后一个单元格