Excel VBA:完整介绍Excel End(xlUp).Row

2013-09-17 15:54 阅读 649 次 评论关闭

很多人接触到Excel的VBA时,都不理解End(xlUp).Row有何含义,有何用途。

下面,本人就给你介绍一下End(xlUp).Row到底有什么含义如何来使用。

其实End(xlUp).Row是VBA里面的End 属性。

一、End(xlUp).Row介绍

功能是返回一个 Range 对象,该对象代表包含源区域的区域尾端的单元格。等同于按键 End+ 向上键、End+ 向下键、End+ 向左键或 End+ 向右键。Range 对象,只读。

其语法如下:

expression.End(Direction)

expression      必需。 该表达式返回“应用于”列表中的对象之一。

Direction      XlDirection 类型,必需。所要移动的方向。

XlDirection 可为 XlDirection 常量之一。

xlDown
xlToRight
xlToLeft
xlUp

二、End(xlUp).Row示例

本示例选定包含单元格 B4 的区域中 B 列顶端的单元格。

Range("B4").End(xlUp).Select
本示例选定包含单元格 B4 的区域中第 4 行尾端的单元格。

Range("B4").End(xlToRight).Select

本示例将选定区域从单元格 B4 延伸至第四行最后一个包含数据的单元格。

Worksheets("Sheet1").Activate

Range("B4", Range("B4").End(xlToRight)).Select

再比如:

Range("a65536").End(xlUp).Row  A列数据区域最后一行的行号
Range("b65536").End(xlUp).Row  B列数据区域最后一行的行号
Range("d65536").End(xlUp).Row  D列数据区域最后一行的行号
Range("k65536").End(xlUp).Row  K列数据区域最后一行的行号

最后,再看看一段VBA调用的代码吧:

Dim i, M, iRow, sh, arr
M = 0.0015
For Each sh In ThisWorkbook.Sheets
iRow = sh.[D65535].End(xlUp).Row
ReDim arr(1 To iRow, 1 To 2)
arr = sh.Range("D3:E" & iRow)
For i = 2 To UBound(arr)
arr(i, 1) = arr(i, 1) * M
arr(i, 2) = arr(i, 2) * M
Next
arr(1, 1) = Application.Substitute(arr(1, 1), "平方米", "亩")
arr(1, 2) = Application.Substitute(arr(1, 2), "平方米", "亩")
sh.Range("D3:E" & iRow) = arr
Next

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:Excel VBA:完整介绍Excel End(xlUp).Row | 猎微网

评论已关闭!