Автоподгонка столбцов с условием максимальной ширины? - PullRequest
1 голос
/ 18 июня 2019

В VBA я хочу отформатировать свои столбцы по всей книге для автоматической подгонки данных, но с максимальной шириной 50 или 75 (без предпочтений, ширина, 50 или 75 - это просто предложения).Я хочу сделать это, потому что некоторые из моих полей могут иметь очень длинные значения, и я не хочу усложнять просмотр книги.Я не хочу добавлять только максимальную ширину, потому что я хочу, чтобы ячейки, которые меньше, чем это, были автоматически установлены.

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

Код, который у меня есть, следующий:

Dim sht As Worksheet
Sheets("Index").Select
  On Error Resume Next
    For Each sht In ThisWorkbook.Worksheets
      sht.Cells.SpecialCells(xlCellTypeVisible).EntireColumn.AutoFit
    Next sht
On Error GoTo 0

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

1 Ответ

3 голосов
/ 18 июня 2019

Вам может потребоваться перебрать используемые столбцы, чтобы изменить их ширину по одному:

Sheets("Index").Select
  On Error Resume Next
    For Each sht In ThisWorkbook.Worksheets
      sht.Cells.SpecialCells(xlCellTypeVisible).EntireColumn.AutoFit
         For c = sht.UsedRange.Column To sht.UsedRange.SpecialCells(xlCellTypeLastCell).Column
             If sht.Cells(1, c).ColumnWidth > 75 Then sht.Cells(1, c).ColumnWidth = 75
         Next c
    Next sht
  On Error GoTo 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...