Автоматическое расширение раскрывающегося списка в объединенных ячейках в Excel - PullRequest
0 голосов
/ 16 января 2020

У меня есть несколько объединенных ячеек с раскрывающимися списками проверки данных. Я попробовал следующий метод, чтобы сделать их автоматически расширяемыми, когда в фокусе он применяется к отдельным ячейкам, но когда я пытался применить к объединенным ячейкам, записывая их диапазон, это не работа.

На фокусе после раскрывающегося списка Excel автоматически отображается список для выбора

первый код

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

Любая идея, как это сделать работа?

Заранее спасибо.

1 Ответ

0 голосов
/ 16 января 2020

Объединенные ячейки приводят к всевозможным проблемам и их следует избегать. Вы можете использовать

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

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...