`
xieyunbiao
  • 浏览: 36948 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

获取Excel Sheet中数据单元格的结尾位置

 
阅读更多

在Excel VBA开发过程中经常会遇到遍历Sheet中的数据,常常我们会使用

For i=1 To maxRow

     For j=1 To maxColumn

 

     Next j

Next i

其中的maxRow和maxColumn是Sheet中数据所在行数的最大值和列数最大值(也就是结尾位置),使用UsedRange.Rows.Count和UsedRange.Columns.Count只能获取到数据总共行数和列数,往往数据区存在空白的行和列,这样就UsedRange.Rows.Count和UsedRange.Columns.Count就有可能小于maxRow和maxColumn,缩小了数据遍历的范围,那我们怎样获取maxRow和maxColumn的值呢?

我们可以使用Find()函数。

maxRow = Cells.Find("*", Range("A1"), xlFormulas, , xlByRows, xlPrevious).Row

 

maxColumn = Cells.Find("*", Range("A1"), xlFormulas, , xlByColumns, xlPrevious).Column

这样就能遍历完整的数据区了。

Find函数

在区域中查找特定信息,并返回 Range对象,该对象代表用于查找信息的第一个单元格。如果未发现匹配单元格,就返回 Nothing。本方法不影响选定区域或活动单元格。

expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SerchFormat)

expression   必需。该表达式返回一个 Range对象。

What   Variant 类型,必需。要搜索的数据。可为字符串或任意 Microsoft Excel 数据类型。

After   Variant 类型,可选。表示搜索过程将从其之后开始进行的单元格。此单元格对应于从用户界面搜索时的活动单元格位置。值得注意的是,After 必须是区域中的单个单元格。请记住搜索是从该单元格之后开始的;直到本方法绕回到指定的单元格时,才对其进行搜索。如果未指定本参数,搜索将从区域的左上角单元格之后开始。

LookIn   Variant 类型,可选。信息类型。

LookAt   Variant 类型,可选。可为以下 XlLookAt 常量之一:xlWhole 或 xlPart。

SearchOrder   Variant 类型,可选。可为以下 XlSearchOrder 常量之一:xlByRows 或 xlByColumns。

SearchDirection  XlSearchDirection 类型,可选。搜索的方向。

XlSearchDirection 可为以下 XlSearchDirection 常量之一。
xlNext 默认值
xlPrevious

MatchCase   Variant 类型,可选。若为 True,则进行区分大小写的查找。默认值为 False。

MatchByte   Variant 类型,可选。仅在选择或安装了双字节语言支持时使用。若为 True,则双字节字符仅匹配双字节字符。若为 False,则双字节字符可匹配其等价的单字节字符。

SearchFormat   Variant 类型,可选。搜索的格式

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics