Обработчик событий автозаполнения Excel VBA

Я пытаюсь запустить функцию, когда пользователь запускает столбец (или строку) с автоматическим подбором. Таким образом, когда пользователь дважды щелкает строку между заголовками столбцов, чтобы автоматически изменить ширину столбца.

Я могу изменить ширину столбца с помощью функции в VBA: Columns("D:D").EntireColumn.AutoFit, но я бы хотел, чтобы для этого было событие handler / trigger ...


person Sandbergen    schedule 11.09.2017    source источник
comment
Для этого нет события.   -  person Rory    schedule 11.09.2017


Ответы (1)


Как упоминалось в комментариях, для автозаполнения нет события, но есть способ убедиться, что оно остается таким, как вы хотите. Таким образом, вы можете использовать событие _Change с константой ширины:

Private Const STANDARD_WIDTH = 6

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Range("A:A").ColumnWidth <> STANDARD_WIDTH Then
        Range("A:A").ColumnWidth = STANDARD_WIDTH
    End If
End Sub
person Vityata    schedule 11.09.2017
comment
это помогает, но не сработает, если пользователь не изменит выбор. - person ExcelinEfendisi; 11.09.2017