循环检查字母X的单元格范围,遮蔽该行中的相邻单元格

时间:2016-11-28 16:56:18

标签: excel vba excel-vba

我想循环检查字母X的一系列单元格。如果有X,我想将列中的单元格遮挡到单元格的左侧和右侧,并且X在范围内。我从来没有使用过条件格式并看过它,但我认为这不会起作用。我相信我需要.Offset,但我不知道如何使用它。以下是我的代码。

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

1 个答案:

答案 0 :(得分:1)

我假设你的意思是右边/左边的列而不是行。如果你的意思是上/下的那一行,情况就会略有不同。

要回答您的问题,ActiveCell.Offset(0, -1)会为您提供活动问题左侧的单元格。即相同的列和左边的1个单元格(或者更恰当地说,-1到右边......)。同样,ActiveCell.Offset(0, 1)会将单元格赋予活动单元格的右侧。

但是,您需要将ActiveCell的每个实例替换为Cell,因为这就是您正在循环播放的内容。