获取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 类型,可选。搜索的格式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值