Excel列宽的秘密

网友投稿 487 2022-10-18

Excel列宽的秘密

我们知道,Range对象的Width属性能够返回单元格的宽度,但不能够给Width属性赋值以指定单元格的宽度。要设置单元格的宽度,可以使用ColumnWidth属性,当然,该属性也可以返回单元格的宽度值。

单元格的宽度也就是单元格所在列的列宽。在VBA帮助中明确指出,列宽的1个单位等于采用标准样式的1个字符的宽度。对于比例字体,使用字符0的宽度。Width属性以磅为单位返回列宽。

如果我们要设置列的宽度(width)为100磅,使用下面的语句:

WithActiveSheet.Range(“A1”)

.ColumnWidth = 100 / .Width * .ColumnWidth

End With

并不会等于100。

奇怪的是,如果循环2至3次,则会得到接近目标宽度的值。测试代码如下:

Sub testwidth()

Dim i As Long, j As Long

With ActiveSheet.Range(“A1”)

For i = 100 To 300 Step 100

.ColumnWidth = 8.38

Debug.Print “——“& i & “——”

For j = 1 To 3

.ColumnWidth = i / .Width *.ColumnWidth

Debug.Print j, .ColumnWidth,.Width

Next j

Next i

End With

End Sub

结果如下图1所示。

图1

基本上,经过最多两次循环后,所得到的列宽值与目标值之差在0.25。循环3次后,所行到的列宽值基本上稳定下来并等于或者接近目标值。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:WPS怎么设计一款宝蓝色漂亮的封面?
下一篇:WPS怎么制作专门书写英文的四线三格?
相关文章