首页 > 解决方案 > 重复更改列宽范围(VBA Excel)

问题描述

我想更改一系列列的列宽,然后循环命令。例如,更改 col"B" ~ col"N" 的列宽,然后重复该过程直到最后一列有数据。(我不想自动调整范围内的第一列)

但是,下面的命令不起作用,因为列范围设置不正确。我曾尝试使用 Range(Cells(1, 2), Cells(, colSize) 但这也不起作用。

Dim j As Integer
Dim colSize As Integer
colSize = 14

For j = 2 To Columns.Count Step colSize
Range(Columns(j), Columns(j + colSize - 1)).ColumnWidth.AutoFit
Next j

谢谢你。

标签: excelvbaloopsrangecolumn-width

解决方案


Union也许您可以简单地使用该方法而不是循环

     Application.Union(Columns("A:B"), Columns("D:L"), Columns("AA"), Columns("AC:AD"), Columns("AI:AJ"), Columns("AR"), Columns("AT"), Columns("BA"), Columns("BI"), Columns("BM")).Select
     Selection.ColumnWidth = 8

上面的示例来自工作表,其中包括从 A 到 CB 的工作表或其他内容。

您可以选择所需的列(不一定按正确的顺序),然​​后设置它们的宽度。


推荐阅读