在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
没有错误消息,代码效果很好。但是,我需要添加最大宽度条件,但不确定如何。
答案 0 :(得分:3)
您可能需要遍历使用的列以一次更改其宽度:
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