分享

Excel VBA解读(47):获取整行或整列——EntireRow属性和EntireColumn属...

 L罗乐 2017-04-13

 

如果需要在代码中直接获取当前处理单元格所在的整行或整列,以便进行进一步操作,那么就可以使用EntireRow属性和EntireColumn属性。

 

EntireRow属性返回一个Range对象,代表包含指定单元格的整行。如果指定的单元格处于不同的行,则返回的对象代表所有这些单元格所在的整行。

 

如下图所示的工作表,要获取当前单元格(即C3)所在行的第一个单元格(即A2)中的值。


可以使用下面的代码:

ActiveCell.EntireRow.Cells(1,1).Value

返回值6,即单元格A2中的值。

 

运行下面的代码,上图所示工作表的第1行和第2行的背景色将设置为灰色:

Range('A1:A2').EntireRow.Interior.Color= RGB(225, 225, 225)

结果如下图所示:

 

EntireColumn属性与EntireRow属性相类似,只不过是返回指定单元格所在的整列。

 

示例:隐藏空行

如果单元格区域A1:A10中的空单元格与单元格区域B1:B10中的空单元格在同一行,那么隐藏该行。代码如下:

 

Sub testEntireRowOrColumn()

    Dim rng1 As Range

    Dim rng2 As Range

   

    '获取单元格区域A1:A10中的空单元格

    Set rng1 =Range('A1:A10').SpecialCells(xlCellTypeBlanks)

    '获取单元格区域B1:B10中的空单元格对应的列A中的单元格

    Set rng2 =Range('B1:B10').SpecialCells(xlCellTypeBlanks).Offset(0, -1)

   

    '如果获取的单元格有重合,表明该行在这两列中的单元格均为空

    '认为该行为空行,隐藏该行

    Intersect(rng1, rng2).EntireRow.Hidden =True

End Sub

 

说明:代码中的Hidden属性用于隐藏/显示行或列。如果设置该属性为True,则隐藏行或列。指定的单元格区域必须是整行或整列。也可以获取该属性的值,用于判断对应的行或列是否隐藏,在后面的文章中,我们会介绍这样的例子。

 

示例:高亮显示当前单元格所在的行和列

如下图所示,会以红色背景色高亮显示当前单元格所在的行和列。


代码如下:

Private SubWorksheet_SelectionChange(ByVal Target As Range)

    '将工作表单元格背景色设置为无填充色

    Cells.Interior.ColorIndex = xlNone

    '设置选取单元格所在行和列的背景色为红色

    With Target

        .EntireRow.Interior.Color = RGB(255, 0,0)

        .EntireColumn.Interior.Color = RGB(255,0, 0)

    End With

End Sub

 

代码必须位于相应的工作表代码模块中(如下图),利用工作表事件SelectionChange来达到这样的效果。


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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多