1

В Word 2010 для столбцов таблицы предусмотрена функция "Автоподбор", благодаря которой столбец автоматически подбирает ширину содержимого. Как получить то же самое в Excel?

Я могу дважды щелкнуть на границе столбца, чтобы автоматически установить ширину для текущего содержимого. Более эффективно, я могу дважды нажать Ctrl+A чтобы выделить все ячейки, а затем дважды щелкнуть по любому разделителю, который автоматически развернет все столбцы.

Но каждый раз, когда я изменяю содержимое своих ячеек, размер не изменяется заново. Если я наберу много текста в ячейке, столбец сам по себе не растянется, а если удалить какой-либо длинный текст, он не будет уменьшаться. Я должен сделать выделение, автоподбор ширины снова и снова.

Я хочу, чтобы столбцы автоматически привязывались к соответствующей ширине. Это возможно в Excel 2010 или позже?

2 ответа2

2

Включить макросы:

Press Alt + 11

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

Теперь напишите это внутри новой функции:

Columns().AutoFit

Итак, ваш код должен выглядеть примерно так:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  Columns().AutoFit
End Sub
0

Автоматический метод:

Private Sub Workbook_SheetChange(ByVal Sh As Object, _ 
 ByVal Target As Range) 
 Dim actCol, curCol 
 actCol = Target.Column 
 If actCol > 52 Then 
 curCol = Chr(Int((actCol - 1) / 52) + 64) & _ 
 Chr(Int((actCol - 27) / 26) + 64) & _ 
 Chr(Int((actCol - 27) Mod 26) + 65) 
 ElseIf actCol > 26 Then 
 curCol = Chr(Int((actCol - 1) / 26) + 64) & _ 
 Chr(Int((actCol - 1) Mod 26) + 65) 
 Else 
 curCol = Chr(actCol + 64) 
 End If 
 Columns(curCol & ":" & curCol).AutoFit 
 End Sub 
  1. Скопируйте вышеуказанный код
  2. Открыв рабочую книгу, нажмите ALT + F11 (функциональная клавиша F11).
  3. Дважды щелкните «ЭТУ РАБОТУ» в объектах проекта Microsoft Excel VBA в верхнем левом квадранте.
  4. Вставьте обработчик событий в белую область редактирования справа (щелкните правой кнопкой мыши внутри области и выберите «Вставить»).
  5. Закройте VBE (красная кнопка с белым 'x' --- вверху справа).
  6. Сохраните книгу.
  7. Введите данные в любом столбце, на любом листе в рабочей книге, и, если он превышает ширину столбца, столбец будет автоматически подгоняться после выбора ячейки в другом столбце.

Нашел эту информацию здесь

Альтернативный метод: (не автоматический)

1.Выберите столбец или столбцы, которые вы хотите изменить.

2.На вкладке «Главная» в группе «Ячейки» нажмите «Формат».

Группа Клетки на вкладке Главная

3.Под Размер ячейки, нажмите AutoFit Column Width.

Microsoft KB ссылка

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .