Чтобы добавить немного к другому ответу, используйте оператор with
в качестве сокращения для всех ваших изменений, чтобы вам не приходилось вводить имя листа снова и снова
Sub ColWidth()
Dim wkst As Worksheet
For Each wkst In ThisWorkbook.Sheets
With wkst
.Columns("A:A").ColumnWidth = 2.86
.Columns("B:B").ColumnWidth = 4.57
.Columns("C:C").ColumnWidth = 13.57
.Columns("D:D").ColumnWidth = 8.57
End With
Next
End Sub
(вам придется перенести все остальное в эту форму)
Кроме того, рассмотрите возможность сохранения ширины столбцов в массиве и назначения их столбцам в цикле.Это не ускорит процесс, но ваш код будет более компактным и, я думаю, читабельным.
Например,
Dim i As Integer
Dim widths() As Variant
widths = Array(4.5, 3.67, 5, 6.45, 10)
For i = 1 To 5
Columns(i).ColumnWidth = widths(i) `Thank you iDevlop for the less Rube Goldberg approach
Next
Таким образом, вы можете добавить больше столбцов вбудет без необходимости вводить все.