Q:我怎么知道工作表单元格的默认大小是多少?也就是说,在标准状态下,单元格的长和宽各是多少?如何将其变为正方形?A:在工作表中,当我们将鼠标放置在列之间并变成双向箭头时,按下左键,将会显示单元格的大小,如下图1和图2所示,显示单元格的宽度是8.38磅(72像素),高度是13.5磅(18像素)。 ![图片](http://image109.360doc.com/DownloadImg/2021/05/0119/221225741_1_20210501071749770)
图1 ![图片](http://image109.360doc.com/DownloadImg/2021/05/0119/221225741_2_20210501071750338)
图2 可以看到,工作表单元格默认为矩形,但看起来很奇怪,行高小于列宽但行高的值却约是列宽的值的1倍。事实上,列宽的1个单位等于标准样式下1个字符的宽度;对于比例字体,使用字符0的宽度;如果单元格区域中所有列有相同的宽度,那么ColumnWidth属性返回这个宽度值;如果单元格区域中的列具有不同的宽度,那么ColumnWidth属性返回该区域中第1列的宽度值。 好了,现在我们想将工作表中的单元格从默认的长方形转换为正方形,那该如何实现呢? Python物理学高效计算作者:[美]安东尼·斯科普斯(Anthony Scopatz) 凯瑟琳·赫夫(Kath 当当
此时,需要以磅为基础的相应的像素值。简单地说,我们可以将列的列宽ColumnWidth(像素)除以宽度Width(磅),然后乘以行的高度Height(磅)的结果等于新的列宽ColumnWidth(像素),循环几次使其Width和Height相同。程序代码如下: SubSquareCells() Dim i As Long Dim rng As Range If MsgBox("你想要将工作表中所有单元格转换成方形吗?", _ vbYesNo, "所选列或者整个工作表?") = vbYes Then Set rng = ActiveSheet.Cells Else Set rng = Selection End If For i = 1 To 4 With rng .Columns.ColumnWidth = _ .Columns("A").ColumnWidth/ _ .Columns("A").Width *.Rows(1).Height End With Next End Sub 运行代码并选择整个工作表,结果如下图3所示。 ![图片](http://image109.360doc.com/DownloadImg/2021/05/0119/221225741_3_20210501071750770)
|