【问题标题】:Auto expansion of drop-list in merged cells in excelexcel合并单元格中下拉列表的自动扩展
【发布时间】:2020-01-15 23:55:03
【问题描述】:

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

On focus after tabbing of Excel drop down, automatically show list for selection

第一个代码

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

知道如何让它工作吗?

提前致谢。

【问题讨论】:

  • 你的密码是什么?如果您不显示您的代码,您希望如何获得帮助?
  • 链接中的代码: Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error GoTo Err1: If Target = Range("A1") Then Application.SendKeys ("%{UP}") End If If Target = Range("B1") Then Application.SendKeys ("%{UP}") End If If Target = Range("C1") Then Application.SendKeys ("%{UP}") End If Err1: 'do没有结束子
  • 设置屏幕截图会有所帮助。
  • 完成............

标签: excel vba


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-24
    • 1970-01-01
    • 2012-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多