Я не уверен, есть ли способ сделать это во время набора текста. Я думаю, что Excel обычно расширяет представление ячейки, чтобы отобразить весь текст, прежде чем оно запускает событие worksheet_change.
Этот код изменит размер столбца после того, как вы изменили и переместили цель в новый диапазон. Поместите его в модуль рабочего листа.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nextTarget As Range
Set nextTarget = Range(Selection.Address) 'store the next range the user selects
Target.Columns.Select 'autofit requires columns to be selected
Target.Columns.AutoFit
nextTarget.Select
End Sub
Если вы просто хотите сделать это для определенного столбца, вам нужно проверить целевой столбец следующим образом:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nextTarget As Range
Set nextTarget = Range(Selection.Address) 'store the next range the user selects
If Target.Column = 1 Then
Target.Columns.Select 'autofit requires columns to be selected
Target.Columns.AutoFit
nextTarget.Select
End If
End Sub