我正在嘗試更改單元格的顏色。我有代碼阻止黑色背景被激活的單元格。這個效果很好,但是我想在按鈕單擊事件中將這些單元格中的某些單元格的背景更改爲紅色。Excel VBA偏移量未激活單元格
當按鈕被點擊時,我想讓它周圍的所有單元變成紅色。由於無法選擇細胞,我無法做到這一點。如果我使用Range(「A1」),Value =「Hi」(這是一個黑色背景的單元格),Hi會出現在那裏,我認爲這是因爲我沒有激活單元格而改變了它的值。
有沒有辦法偏離活動細胞,並改變它周圍的細胞的顏色,而不激活/選擇這些細胞?
代碼在Worksheet_SelectionChange是:
'Stops users selecting a Black cell. If they try they are returned to their previous cell
If Target.Cells(1, 1).Interior.ColorIndex = 1 Then
OldRange.Select
'MsgBox "H"
Else
Set OldRange = Target
End If
我在按鈕點擊的代碼是:
If Range("AL7").Value = "Bomb" Then
MsgBox "BOOM, BANG, KABOOM!!"
ActiveCell.Interior.ColorIndex = 3
ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Select
ActiveCell.Interior.ColorIndex = 3
ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate
ActiveCell.Interior.ColorIndex = 3
ActiveCell.Offset(rowOffset:=0, columnOffset:=-1).Activate
ActiveCell.Interior.ColorIndex = 3
ActiveCell.Offset(rowOffset:=0, columnOffset:=-1).Activate
ActiveCell.Interior.ColorIndex = 3
你不能只是做「ActiveCell.Offset(0,1).interior .colorindex = 3「? – OpiesDad 2015-03-13 16:33:23
[如何避免使用Excel中的VBA宏選擇](http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros) – RubberDuck 2015-03-13 16:34:27