分享

完整介绍Excel End(xlUp).Row

 陈旭升chenxs 2019-01-26
     

  很多人接触到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


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多