Добрый день! Как-то _Boroda_ помог мне сделать удобную для учета заявок таблицу с многоуровневыми выпадающими списками. Прекрасная таблица, в том числе, для последующего составления сводных таблиц. В процессе работы выпадающий список начал пополняться новыми данными и сейчас возникают проблемы визуального характера при выборе значения из выпадающего списка. Нашел в интернете близкое по смыслу решение, заключающееся в увеличении масштаба: [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next: res = ActiveCell.Validation.Type ActiveWindow.Zoom = IIf(res = 3, 150, 80) End Sub
[/vba] При выделении ячейки с выпадающим списком автоматически ставится масштаб 150%, при выделении любой другой ячейки - 80%. Теперь сами вопросы: 1) Как сделать так, чтобы макрос срабатывал только на выпадающем списке "Группа расходов"? 2) Как центрировать экран при выборе ячейки с выпадающим списком?
Добрый день! Как-то _Boroda_ помог мне сделать удобную для учета заявок таблицу с многоуровневыми выпадающими списками. Прекрасная таблица, в том числе, для последующего составления сводных таблиц. В процессе работы выпадающий список начал пополняться новыми данными и сейчас возникают проблемы визуального характера при выборе значения из выпадающего списка. Нашел в интернете близкое по смыслу решение, заключающееся в увеличении масштаба: [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next: res = ActiveCell.Validation.Type ActiveWindow.Zoom = IIf(res = 3, 150, 80) End Sub
[/vba] При выделении ячейки с выпадающим списком автоматически ставится масштаб 150%, при выделении любой другой ячейки - 80%. Теперь сами вопросы: 1) Как сделать так, чтобы макрос срабатывал только на выпадающем списке "Группа расходов"? 2) Как центрировать экран при выборе ячейки с выпадающим списком?Мурад
Private Sub Worksheet_SelectionChange(ByVal Target As Range) r = Application.Intersect(ActiveCell, [$Q$7:$Q$994]) Is Nothing On Error Resume Next: res = ActiveCell.Validation.Type ActiveWindow.Zoom = IIf((res Or r) = 3, 150, 80) End Sub
[/vba]
1 можно, например, так: [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) r = Application.Intersect(ActiveCell, [$Q$7:$Q$994]) Is Nothing On Error Resume Next: res = ActiveCell.Validation.Type ActiveWindow.Zoom = IIf((res Or r) = 3, 150, 80) End Sub