2016-11-28 76 views
0

我想遍歷檢查字母X的單元格範圍。如果有希望將列中的單元格遮蔽到在範圍內X的單元格的左側和右側。我從來沒有使用過條件格式,並且看過,但我認爲這不會起作用。我相信我會需要.Offset,但我不確定如何使用它。以下是我的代碼。循環檢查字母X的單元格範圍,檢查該行中的相鄰單元格

Private Sub Worksheet_Change(ByVal Target As Range) 

Application.EnableEvents = False 

If Not Application.Intersect(Target, Me.Range("D14:K19")) Is Nothing Then 
    For Each Cell In Range("D14:K19") 
     If ActiveCell.Value = "x" Or ActiveCell.Value = "X" Then 
      ActiveCell.Offset(
     End If 
    Next Cell 
End If 

Application.EnableEvents = True 
End Sub 
+0

條件格式化可能會起作用,例如使用Rule Formula = = OR(C14 =「X」,E14 =「X」)'應用於範圍'= $ D $ 14:$ K $ 19' –

+0

工作。不需要VBA(前提是要求與您解釋的一樣簡單)。 –

回答

1

我打算假設你是指右邊/左邊而不是行的列。如果你的意思是上面/下面的行,情況會有所不同。

要回答你的問題,ActiveCell.Offset(0, -1)會給你活動的左邊的單元格。即相同的列和左側的1個單元格(或更正確地說,右側是-1 ...)。以同樣的方式,ActiveCell.Offset(0, 1)將使該單元位於活動單元的右側。

但是,您需要將ActiveCell的每個實例替換爲Cell,因爲這是您正在循環的內容。

相關問題