Excel VBA:点击单元格后高亮显示行和列,重新打开工作簿后清除高亮

本文将介绍如何使用 VBA 代码实现在 Excel 中点击单元格时高亮显示该单元格所在的行和列,并在重新打开工作簿后清除高亮效果。

问题描述

你可能已经编写了以下 VBA 代码,用于在选择单元格时高亮显示其所在的行和列:vbaPrivate Sub Worksheet_SelectionChange(ByVal Target As Range) Cells.Interior.ColorIndex = xlColorIndexNone Target.EntireRow.Interior.ColorIndex = 35 Target.EntireColumn.Interior.ColorIndex = 35End Sub

然而,当你保存并关闭工作簿后再次打开时,会发现之前点击的单元格所在的行和列仍然处于高亮状态。这是因为 Worksheet_SelectionChange 事件在重新打开工作簿时并未被触发。

解决方案

为了解决这个问题,我们需要在工作簿打开时清除之前设置的高亮效果。我们可以使用 Workbook_Open 事件来实现这一点。

以下是修改后的代码:vbaPrivate Sub Workbook_Open() ActiveSheet.UsedRange.Interior.ColorIndex = xlColorIndexNoneEnd Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveSheet.UsedRange.Interior.ColorIndex = xlColorIndexNone Target.EntireRow.Interior.ColorIndex = 35 Target.EntireColumn.Interior.ColorIndex = 35End Sub

代码解释

  • Workbook_Open 过程在打开工作簿时被触发。- ActiveSheet.UsedRange.Interior.ColorIndex = xlColorIndexNone 语句用于清除当前工作表中所有已使用单元格的颜色填充。- Worksheet_SelectionChange 过程在工作表中选择单元格时被触发。- 在该过程中,我们首先使用 ActiveSheet.UsedRange.Interior.ColorIndex = xlColorIndexNone 清除所有单元格的颜色填充,然后将当前选定单元格所在的行和列的颜色设置为 35(浅蓝色)。

使用方法

  1. 打开你的 Excel 工作簿,并按下 Alt + F11 打开 VBA 编辑器。2. 在左侧的项目资源管理器中,双击 ThisWorkbook 对象。3. 将上面的代码粘贴到代码窗口中。4. 保存并关闭 VBA 编辑器。

现在,当你打开工作簿时,之前设置的高亮效果将被清除。当你选择一个单元格时,该单元格所在的行和列将被高亮显示。

Excel VBA:点击单元格后高亮显示行和列,重新打开工作簿后清除高亮

原文地址: https://www.cveoy.top/t/topic/Yle 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录