基于数据验证列表选择清除合并的单元格内容

时间:2017-05-15 15:15:27

标签: excel vba validation merge

我正在尝试根据数据验证列表中的选择清除合并单元格的内容(列表也在合并单元格中)。是的,“不要使用合并的单元格!”是很好的建议(我更喜欢“中心对面”),但在这种情况下会使事情变得复杂。我已尝试使用“MergeArea”等命名合并的单元格,但我还没有成功找到解决方案。

以下是我的最新版本。请注意我在添加第二个选择(或在这种情况下为“空白”)之前一直尝试只选择一个(在这种情况下为“是”)。

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Range("Max_Advance").MergeArea Then
    If Range.Validation.Type = 2 Then
        Range("Days_Needed").MergeArea.ClearContents
    End If
End If
exitHandler:
    Application.EnableEvents = True
    Exit Sub

End Sub

有人可以帮忙吗?我还附上了一张图片,直观地展示了我正在使用的内容:

Clear Contents Example

2 个答案:

答案 0 :(得分:1)

这对你有用吗?

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A2" Then
    On Error GoTo exitHandler
    Application.EnableEvents = False
    If LCase(Target.Value) <> "no. please enter." Then
        Range("Days_Needed").MergeArea.ClearContents
    End If
End If
exitHandler:
    Application.EnableEvents = True
    Exit Sub
End Sub

答案 1 :(得分:0)

您通常可以通过将合并单元格的内容视为合并中的第一个单元格来清除合并单元格的内容。

例如:

Range("A2")=""