我是VBA的新手。在Excel中,我有一個名爲「高效」的定義範圍,即B2:B10。當用戶點擊該範圍內的單元格時,我希望單元格輪廓變爲紅色。Excel在定義的範圍內更改活動單元格顏色
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Worksheets("LookupLists").Range.Value = ActiveCell.Address
End Sub
我是VBA的新手。在Excel中,我有一個名爲「高效」的定義範圍,即B2:B10。當用戶點擊該範圍內的單元格時,我希望單元格輪廓變爲紅色。Excel在定義的範圍內更改活動單元格顏色
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Worksheets("LookupLists").Range.Value = ActiveCell.Address
End Sub
將這個在LookupLists代碼段(這你大概已經做):
Private Sub Worksheet_SelectionChange(ByVal target As Range)
Dim rng As Range
Set rng = Worksheets("LookupLists").Range("Efficient")
If Intersect(target, rng) Is Nothing Then Exit Sub
Application.EnableEvents = False
target.BorderAround ColorIndex:=3
Application.EnableEvents = True
End Sub
這將改變就是「點擊」上(即選擇)一個單元格的邊框。請注意,這也將在該範圍內的一組選定單元格周圍繪製邊框(即單擊,按住並拖動鼠標),並且如果使用箭頭鍵在範圍內移動,也會對單元格着色 - 這可能不完全是您「重新過後。
編輯
要刪除邊框,如果你點擊其他地方,你可以嘗試做這個:
Private Sub Worksheet_SelectionChange(ByVal target As Range)
Dim rng As Range
Set rng = Worksheets("LookupLists").Range("Efficient")
Application.EnableEvents = False
If Intersect(target, rng) Is Nothing Then
rng.Borders.Color = xlNone
Else
target.BorderAround ColorIndex:=3
End If
Application.EnableEvents = True
End Sub
但是,這將刪除邊框每個選擇變化。除非你向上移動,否則它的效果不會很明顯。
謝謝Amorpheuses。這改變了顏色,但是當我點擊單元格時,它仍然是紅色的。無效時可以切換回黑色嗎? –
查看上面的修改。 – Amorpheuses
你是什麼意思的「細胞大綱」?你是指邊界嗎? –
是的,單元格的邊框。 –