Excel中实现聚光灯效果,不改变原来格式

这段VBA代码的目的是在Excel工作表中实现一种“聚光灯”效果。

即当用户选择某个单元格时,‌自动高亮该单元格所在的整行和整列。‌

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

    Cells.FormatConditions.Delete

    If Target.Rows.Count <> Rows.Count And Target.Columns.Count <> Columns.Count Then

        With Target.EntireRow.FormatConditions.Add(Type:=xlCellValue, Operator:=xlNotEqual, Formula1:="=1000000000")

            .SetFirstPriority

            With .Interior

                .ColorIndex = 28

            End With

            .StopIfTrue = False

        End With

        With Target.EntireColumn.FormatConditions.Add(Type:=xlCellValue, Operator:=xlNotEqual, Formula1:="=1000000000")

            .SetFirstPriority

            With .Interior

                .ColorIndex = 28

            End With

            .StopIfTrue = False

        End With

    End If

    Target.FormatConditions.Delete

End Sub

1.‌删除所有现有格式条件‌:‌

Cells.FormatConditions.Delete:‌删除工作簿中所有单元格的格式条件。

2.‌检查选定区域‌:‌

If Target.Rows.Count <> Rows.Count And Target.Columns.Count <> Columns.Count Then

‌判断选定的区域是否不是整行或整列。

3.‌对选定的行应用格式条件‌:‌

With Target.EntireRow.FormatConditions.Add(...)

‌为选定行的所有单元格添加一个新的格式条件。‌

Type:=xlCellValue, Operator:=xlNotEqual, Formula1:="=1000000000"

‌设置格式条件,‌当单元格的值不等于1000000000时应用。‌

.Interior.ColorIndex = 28:‌设置满足条件的单元格的背景色。‌

.StopIfTrue = False:‌设置当条件满足时,‌是否停止检查其他格式条件。

4.‌对选定的列应用格式条件‌:‌

与对行应用格式条件的步骤相同,‌

只是将Target.EntireRow替换为Target.EntireColumn。

5.‌删除选定区域的格式条件‌:‌

Target.FormatConditions.Delete

‌删除选定区域的所有格式条件。‌

教程:

1.‌打开Excel VBA编辑器‌:‌

在Excel中,‌按下Alt + F11打开VBA编辑器。

2.‌插入代码‌:‌

在VBA编辑器的左侧项目资源管理器中,‌找到你的工作簿,‌

右键点击“ThisWorkbook”,‌选择“插入” -> “模块”,‌

在打开的代码窗口中粘贴上述代码。‌

3.‌保存并测试‌:‌

保存你的工作簿为启用宏的工作簿格式(‌.xlsm或xls)‌,‌

然后关闭VBA编辑器,‌回到Excel界面进行测试。

4.‌观察效果‌:‌

当你选择工作表中的任何单个单元格时,‌

你应该会看到该单元格所在的整行和整列被高亮显示(‌假设它们不包含值1000000000)‌。‌

通过以上步骤,‌你就可以在你的Excel工作簿中实现聚光灯效果了。‌

这种效果在查看和分析数据时非常有用,‌因为它可以帮助你更容易地跟踪你当前正在查看的数据。‌

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值