VBA:更改Excel单元格宽度

VBA:更改Excel单元格宽度,excel,vba,Excel,Vba,我有一些VBA和批处理脚本,可以从一些交换机读取Mac地址表,并将其导入Excel进行格式化。 但是文本对于默认单元格宽度太长。 是否可以更改显示的单元格宽度? (当说“显示的单元格宽度”时,我的意思是:)使用这个: Range("A1").ColumnWidth = ... 该值的单位如下所示: 一个列宽单位等于正常样式中一个字符的宽度。对于比例字体,使用字符0(零)的宽度 例如,使用默认样式新打开的Excel文件的列宽为8.43,等于64像素 …或此选项以自动调整宽度: Range("A1

我有一些VBA和批处理脚本,可以从一些交换机读取Mac地址表,并将其导入Excel进行格式化。
但是文本对于默认单元格宽度太长。

是否可以更改显示的单元格宽度?

(当说“显示的单元格宽度”时,我的意思是:)

使用这个:

Range("A1").ColumnWidth = ...
该值的单位如下所示:

一个列宽单位等于正常样式中一个字符的宽度。对于比例字体,使用字符0(零)的宽度

例如,使用默认样式新打开的Excel文件的列宽为
8.43
,等于64像素

…或此选项以自动调整宽度:

Range("A1").EntireColumn.AutoFit

另一种方法是:

.Columns("A").ColumnWidth = 20 (or whatever value you need)
我没有比较它的速度,但为什么我的猜测是只使用Columns()而不是Range()更有效


有关ColumnWidth值的更多信息->

谢谢,它是有效的,但是
ColumnWidth=…
该值的意思是什么,您输入的不是“…”?是像素吗?谢谢分享AutoFit!给定链接已断开/出现访问被拒绝错误。也是。也许OP还有权限。这些老生常谈的问题仍然有听众。不幸的是,我没有,但公认的答案应该足够清楚。