Excel列宽的秘密
2023-01-26 餐饮美食网 【 字体:大 中 小 】
我们知道,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次后,所行到的列宽值基本上稳定下来并等于或者接近目标值。
如何自制蛋挞
肉火烧面怎么和面
奶茶几分糖好喝
过桥米线是哪里的?
面霜和乳液的区别
怎么摘隐形眼镜
粉饼和散粉的区别
冷烫和热烫的区别
高品质香水如何鉴别?用三步就可以解决
如何去除黑眼圈