小兔网

下面我们将查看Excel VBA中的一个程序,该程序突出显示活动单元格(选定单元格)的行和列这个程序会给您的老板留下深刻的印象。

情况:

在Excel VBA中突出显示活动单元格

每次我们更改Sheet1上的活动单元格时,都需要执行一个宏。您可以通过创建工作表SelectionChange事件来实现。

1.打开Visual Basic编辑器

2.在项目浏览器中双击Sheet1(Sheet1)。

3.从左侧下拉列表中选择“工作表”。从右边的下拉列表中选择SelectionChange。

Excel VBA中的工作表SelectionChange事件

将以下代码行添加到工作表SelectionChange事件:

4.我们声明四个Integer类型的变量。一个命名为rowNumberValue,一个命名为columnNumberValue,一个命名为i,一个命名为j。

Dim rowNumberValue 作为 Integer,columnNumberValue 作为 Integer,i 作为 Integer,j 作为 Integer

5.首先,我们添加将所有单元格的背景色更改为“无填充”的行。

Cells.Interior.ColorIndex = 0

6.我们用活动单元格的行号初始化变量rowNumberValue,用活动单元格的列号初始化变量columnNumberValue。

rowNumberValue = ActiveCell.row
columnNumberValue = ActiveCell.column

7.我们突出显示蓝色列。即:所有行号小于或等于rowNumberValue 列号等于columnNumberValue的单元格

对于 i = 1  rowNumberValue
    Cells(i,columnNumberValue).Interior.ColorIndex = 37
下一个 i

说明:对于此示例(请参见上图),rowNumberValue等于12,columnNumberValue等于8。For和Next之间的代码行将执行十二次。对于i = 1,Excel VBA为第1行和第8列的交点处的单元格着色。对于i = 2,Excel VBA为第2行和第8列的交点处的单元格着色。

注意:您可以使用任何ColorIndex编号代替ColorIndex编号37(蓝色)。

8.以类似的方式,我们将行突出显示为蓝色。即:所有行号等于rowNumberValue 列号小于或等于columnNumberValue的单元格。

对于 j = 1  columnNumberValue像元
    (rowNumberValue,j).Interior.ColorIndex = 37
下一个 j

9.现在该测试程序了。下载Excel文件,并查看每次更改活动单元格时活动单元格的行和列如何突出显示。