问:如何知道工作表单元格的默认大小?也就是说,在标准状态下,单元格的长度和宽度是多少?怎么把它变成正方形?
答:在工作表中,当我们把鼠标放在列之间,变成双向箭头时,按左键,就会显示单元格大小。如下图和所示,显示的单元格宽度为8.38点(72像素),高度为13.5点(18像素)。
如您所见,工作表单元格默认为矩形,但奇怪的是行高小于列宽,但行高的值大约是列宽值的1倍。事实上,一个单位的列宽等于标准样式中一个字符的宽度;对于比例字体,使用字符宽度;如果单元格区域中的所有列都具有相同的宽度,ColumnWidth属性将返回该宽度值;如果单元格区域中的列具有不同的宽度,ColumnWidth属性将返回该区域中第一列的宽度值。
好了,现在我们要将工作表中的单元格从默认的矩形转换为正方形。如何才能做到这一点?
此时,需要基于点的对应像素值。简单来说,我们可以将列宽(像素)除以宽度(磅),然后乘以行高。结果等于新的列宽(像素),并循环多次以使宽度和高度相同。程序代码如下:
亚方形细胞()
模糊如龙
调光范围
如果MsgBox(“是否要将工作表中的所有单元格转换为正方形?”, _
VbYesNo否,“选定的列还是整个工作表?”)=vbYes然后
设置rng=ActiveSheet。细胞
其他
设置rng=选择
如果…就会结束
对于i=1到4
带rng
. Columns.ColumnWidth=_。列(“A”)。列宽/_。列(“A”)。宽度*。行(1)。高度
以…结尾
然后
末端接头
运行代码并选择整个工作表,结果如下。