分享

跟烟花入门VBA之61:单元格对象Range(五)

 fzchenwl 2015-04-01

 CurrentRegion 属性

  返回一个 Range 对象,该对象表示当前区域,只读

  当前区域是以空行与空列的组合为边界的区域。

  说明:

    该属性对于许多自动展开选择以包括整个当前区域的操作很有用,如 AutoFormat 方法。

    该属性不能用于被保护的工作表。

  示例:

     Dim str$

     If ActiveSheet.ProtectContents Then

         str = '当前工作表被保护了,无法使用 CurrentRegion 属性'

     Else

         str = 'A1单元格所在的单元格区域地址为:' & Range('a1').CurrentRegion.Address

     End If

     MsgBox str

  End 属性

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

  语法:End(Direction)

    Direction 必选 XlDirection 所要移至的方向。

      xlDown -4121 向下。

      xlToLeft -4159 向左。

      xlToRight -4161 向右。

      xlUp -4162 向上。

  示例:

     With Range('a1')

         Debug.Print .End(xlDown).Row

         Debug.Print .End(xlToRight).Column

     End With

     With Cells(Rows.Count, Columns.Count)

         Debug.Print .End(xlUp).Row

         Debug.Print .End(xlToLeft).Column

 End With

  Offset 属性

  返回 Range 对象,它代表位于指定单元格区域的一定的偏移量位置上的区域。

  语法:Offset(RowOffset, ColumnOffset)

  RowOffset 可选,区域偏移的行数(正数、负数或 0(零))。
  正数表示向下偏移,负数表示向上偏移。默认值是 0

  ColumnOffset 可选,区域偏移的列数(正数、负数或 0(零))。
  正数表示向右偏移,负数表示向左偏移。默认值是 0

  示例:

    With [a1]

      Debug.Print .Offset(, 3).Address

      Debug.Print .Offset(1).Address

      Debug.Print .Offset(5, 6).Offset(-5, -6).Address

      Debug.Print .Offset.Address

      'Debug.Print .Offset(-1, -1).Address

      '注意边界在偏移时超出单元格区域范围

    End With

    With [c3:d9]

      Debug.Print .Offset(3).Address

      Debug.Print .Offset(1).Address

      Debug.Print .Offset(-2, -1).Address

    End With


  Resize 属性

  调整指定区域的大小,返回 Range 对象,该对象代表调整后的区域。

  语法:Resize(RowSize, ColumnSize)

    RowSize 可选,新区域中的行数。如果省略该参数,则该区域中的行数保持不变。

    ColumnSize 可选,新区域中的列数。如果省略该参数。则该区域中的列数保持不变。

  示例:

    With [d9:H15]

      Debug.Print .Resize(1).Address

      Debug.Print .Resize(, 3).Address

      Debug.Print .Resize(1, 3).Address

      'Debug.Print .Resize(-1, -3).Address

      '参数不能为负数

    End With


  Count 属性

  返回一个 Long 值,它代表集合中对象的数量。

  示例:

    MsgBox [a1:c3].Count

    MsgBox [a1:c3,e5:h6,l8:o9].Count

    [a1:c3,e5:h6,l8:o9].Interior.ColorIndex = 3


  MergeArea 属性

  返回一个 Range 对象,该对象代表包含指定单元格的合并区域。

  如果指定的单元格不在合并区域内,则该属性返回指定的单元格。

  MergeArea 属性只应用于单个单元格区域。

  示例:
    

2013-12-24 14:14 上传

下载附件 (1.54 KB)


    上图中A1,D2,B3为合并单元格

    MsgBoxRange('a1').MergeArea.Address

    MsgBoxRange('b1').MergeArea.Count

    MsgBoxRange('c1').MergeArea.Address
    'MsgBox Range('a1:b1').MergeArea.Addres


  MergeCells 属性

  如果区域包含合并单元格,则为 True,可读写。

  说明:

    选定包含合并单元格的区域时,所选定的区域可能与所期望选定的区域不同。

    使用 Address 属性检验选定区域的地址。

  示例:

    Dim rg As Range

    For Each rg In [a1:d5]

      If rg.MergeCells Then

        Debug.Print rg.Address

      End If

    Next

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多