Excel VBA: 如何在切换工作表时清除单元格颜色填充
要实现当点击其他工作表后,原工作表中最后点击的单元格所在行和列不再填充颜色,你可以在 'Workbook_SheetDeactivate' 事件中清除颜色填充。以下是修改后的代码:
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Sh.UsedRange.Interior.ColorIndex = xlColorIndexNone
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlColorIndexNone
Target.EntireRow.Interior.ColorIndex = 35
Target.EntireColumn.Interior.ColorIndex = 35
End Sub
在以上代码中,我们添加了一个名为 'Workbook_SheetDeactivate' 的过程,并在其中使用 'Sh.UsedRange.Interior.ColorIndex = xlColorIndexNone' 清除工作表中所有单元格的颜色填充。
当你点击其他工作表时,'Workbook_SheetDeactivate' 事件将会被触发,并清除之前设置的颜色填充。当你返回原工作表并选择一个单元格时, 'Worksheet_SelectionChange' 事件将会被触发,并设置所选单元格所在行和列的颜色填充。
保存并重新运行修改后的代码,现在当你点击其他工作表后返回原工作表,最后点击的单元格所在行和列不再被填充颜色。
原文地址: https://www.cveoy.top/t/topic/YoH 著作权归作者所有。请勿转载和采集!