在Excel 365 VBA中停用范围

问题描述

激活EXCEL365中的范围后,单元格将变为灰色。当子例程完成并退出时,它们保持灰色。我假设有人想在退出子例程之前取消激活范围,以使单元格变成白色。在Microsoft帮助页面中,此主题的处理不是很好。有什么建议?潜水艇为用户提供了正确的外观,但不能解决问题

Sub TestActivate()

Dim myWkBk As Workbookr code here`
Dim myWkSh As Worksheet
Dim myRange As Range
Set myWkBk = ThisWorkbook
Set myWkSh = myWkBk.Worksheets("Sheet1")
Set myRange = Range("A1:L50")
myRange.Activate

Cells(1,1).Value = 1
Cells(2,1).Value = 2

Range("A1:L50").Interior.ColorIndex = -4142

End Sub

解决方法

最好的方法是首先不激活范围:

Sub TestActivate()

Dim myWkBk As Workbook
Dim myRange As Range
Set myWkBk = ThisWorkbook
Set myWkSh = myWkBk.Worksheets("Sheet1")
Set myRange = Range("A1:L50")

With myRange
    .Cells(1,1).Value = 1
    .Cells(2,1).Value = 2
End With 'myRange

End Sub

HTH