如果需要在代码中直接获取当前处理单元格所在的整行或整列,以便进行进一步操作,那么就可以使用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来达到这样的效果。 |
|