【发布时间】:2017-08-27 12:36:49
【问题描述】:
我写在下面
ThisWorkbook.Worksheets("Sheet1").Range("tblInsurance").SpecialCells(xlCellTypeVisible).Rows.Count
指向tblInsurance表的最后一行。
我在方法参数中将ThisWorkbook.Worksheets("Sheet1").Range("tblInsurance") 传递为:
General.CsvExportRange rngRange:=ThisWorkbook.Worksheets("Sheet1").Range("tblInsurance")
和CsvExportRange 方法包含rngRange.Rows.Count 行,用于查找范围的最后一行。
但是当到达隐藏行时,它停止计数并返回隐藏行之前的最后一行的编号。
当我在下面使用时:
ThisWorkbook.Worksheets("Sheet1").Range("tblInsurance").SpecialCells(xlCellTypeVisible).Select
范围完全由范围内可见区域周围的分隔边界选择。
似乎问题出在.SpecialCells(xlCellTypeVisible).Rows.Count->count 方法中,该方法在到达隐藏行时停止计数。
我正在阅读类似的帖子和网络讨论,但它们不包含上述主要问题。 (当范围包含隐藏行时,计算范围行以查找最后一个行号。)
这个问题是一个类似的问题,当我尝试计算包含一些隐藏列的范围列时,例如 - 到达最后一个。
【问题讨论】:
-
Unclear....你想要包含数据的最后一行还是包含可见数据的最后一行??
-
我想要包含可见数据的最后一行,所以我希望所有可见行的计数都在该范围内。请注意,范围包含一些隐藏的行。我需要计算它们以找到范围的最后一个可见行。
-
.SpecialCells正在返回一个包含多个区域的范围。.SpecialCells(xlCellTypeVisible).Rows.Count将返回范围的第一个区域中的行数。 -
当然是这个问题。我想要范围内所有区域的行数。