当工作表里面的数据量大的时候,鼠标选定当前单元格后,要想弄清楚它对应的行和列实在是不方便。如果能做到Excel自动以高亮突出颜色的方式来显示当前行和列的话,那该多方便啊,哈哈。其实excel中可以做到这个效果的,方法有两种:条件格式和VBA。
使用条件格式
下面将使用条件格式实现当前单元格和当前单元所在行或列突出显示的效果。
在公式中使用了Cell函数,并将ScreenUpdation属性的值设置为True以实现屏幕更新。
在ThisWorkbook模块中输入如下代码: Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.ScreenUpdating = True End Sub 当然,如果只想在工作表中实现突出显示的效果,将Application.ScreenUpdating = True代码输入到Worksheet_SelectionChange事件中。
接下来,在Excel中选择菜单“格式——条件格式”命令,弹出“条件格式”对话框。
在“条件”下拉框中选择“公式”并在右侧中输入下面相应的公式,然后点击“格式”按钮,设置相应的格式,完成后,按“确定”按钮。
下面是相应的公式及其作用: (1)公式“=CELL("address")=ADDRESS(ROW(),COLUMN())”,突出活动单元格,如下图1所示。
图1
(2)公式“=CELL("row")=ROW()”,突出单元格所在行,如下图2所示。
图2
(3)下面的公式突出到当前单元格为止的相应行和列,呈反L形,如下图3所示。 “=OR(AND(CELL("row")=ROW(),CELL("col")+1>COLUMN()),AND(CELL("col")=COLUMN(),CELL("row")+1>ROW()))”
图3
(4)在“条件格式”对话框中对所选单元格区域设置两个如下所列的公式条件,将呈反L形突出显示到当前单元格为止的相应行和列,且当前单元格背景色改变、字体加粗显示,如下图4所示。 “=CELL("address")=ADDRESS(ROW(),COLUMN())” “=OR(AND(CELL("row")=ROW(),CELL("col")+1>COLUMN()),AND(CELL("col")=COLUMN(),CELL("row")+1>ROW()))”
图4 示例文档见 使用条件格式自动突出显示.xls。UploadFiles/2006-10/1027458205.rar