excel中合并单元格下拉列表的自动扩展

excel中合并单元格下拉列表的自动扩展,excel,vba,Excel,Vba,我有一些带有数据验证下拉列表的合并单元格。我尝试了以下方法,使它们在聚焦时自动展开,但当我尝试应用于合并单元格时,写入它们的范围却不起作用 第一代码 Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error GoTo Err1: If Target = Range("d10") Then Application.SendKeys ("%{UP}") End If Err1: 'do nothing

我有一些带有数据验证下拉列表的合并单元格。我尝试了以下方法,使它们在聚焦时自动展开,但当我尝试应用于合并单元格时,写入它们的范围却不起作用

第一代码

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Err1:

If Target = Range("d10") Then
    Application.SendKeys ("%{UP}")
End If Err1:
'do nothing     End Sub
[效果非常好][1]

当我合并单元格时,它不起作用,即使我尝试将范围更改为所有合并单元格,它也不起作用

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Err1:

If Target = Range("d10:n10") Then
    Application.SendKeys ("%{UP}")
End If   Err1: 'do nothing    End Sub
你知道怎么做吗


提前感谢。

合并单元格会导致各种问题,应该避免。你可以用

If Target.Address = "$A$1:$C$3" Then
或者更好

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
    MsgBox "merged cells are bad for your health"
End If

End Sub

您的代码是什么?如果不显示代码,您希望如何获得帮助?链接中的代码:Private子工作表_SelectionChange(ByVal Target As Range)上的错误转到Err1:如果Target=Range(“A1”),则Application.SendKeys(“%{UP}”)如果Target=Range(“B1”)则结束Application.SendKeys(“%{UP}”)如果Target=Range(“C1”)则结束Application.SendKeys(“%{UP}”)如果Err1:“不做任何事情结束”安装程序的子屏幕截图会有所帮助。完成。。。。。。。。。。。。