Как автоизмерить ширину столбца в Excel во время ввода текста

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

Это подверглось бы, конечно, к длинам текста в других клетках в колонке.

'Автоподгонка, как Вы печатаете', я предполагаю Вас, могла бы назвать его.

Есть ли легкий способ сделать это в подходящем укладчике?

9
задан ChrisA 12 January 2010 в 10:48
поделиться

1 ответ

Я не уверен, есть ли способ сделать это, пока вы печатаете. Я думаю, что 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
10
ответ дан 4 December 2019 в 21:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: