如果单元格具有某个value ("vv")
,我想自动合并单元格。
我找到的解决方案是每次更改时检查数组中的每个单元格,但是认为有可能在cell
之后检查changed
的值?
因此,如果我输入一个空白单元格"vv"
(没有引号),我选择一个不同的单元格,我希望该单元格(其中包含vv)与其下方的单元格合并。
在我使用数组的解决方案中,每次更换单元格时都需要一秒钟,如果进行大量更改,则不是很整洁。
有帮助吗?
答案 0 :(得分:4)
在工作表中尝试使用此代码:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Value = "vv" Then Target.Resize(2).Merge End Sub
如果您想要阻止下面单元格中的任何内容,此代码将询问您是否应合并单元格,以防发现任何内容:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Value = "vv" Then If Target.Offset(1).Value "" Then If MsgBox("Do you want to overwrite the cell below (containing '" & _ Target.Offset(1) & "?", vbYesNo) = vbYes Then Target.Resize(2).Merge End If Else Target.Resize(2).Merge End If End If End Sub
注意:代码需要进入目标表,而不是新模块,因为它是一个事件过程: