制作正方形(Microsoft Excel)
关于Excel的(很多)令人沮丧的事情之一是,它使用不同的度量单位来指定行的高度和列的宽度。
行高非常简单-以磅为单位进行测量。但是,列宽以字符宽度为单位。如果将标准样式设置为Courier 10,则列宽为12意味着您可以在给定的列中恰好容纳12个字符。对于比例字体,字符0用于计数字符。 (是的,这很荒谬。)
如果要使特定单元格的高度和宽度匹配,从而形成正方形,则会导致问题。幸运的是,有了一些宏向导,您就可以绕过Excel的这种怪癖并获得所需的结果。考虑MakeSquare宏:
Sub MakeSquare() Dim WPChar As Double Dim DInch As Double Dim Temp As String Temp = InputBox("Height and width in inches?") DInch = Val(Temp) If DInch > 0 And DInch < 2.5 Then For Each c In ActiveWindow.RangeSelection.Columns WPChar = c.Width / c.ColumnWidth c.ColumnWidth = ((DInch * 72) / WPChar) Next c For Each r In ActiveWindow.RangeSelection.Rows r.RowHeight = (DInch * 72) Next r End If End Sub
此宏提示您输入要创建的正方形的尺寸,然后精确计算设置每个单元格的宽度和高度。
您可以选择一个单元格来运行宏,也可以进行更大的选择集。
“算术魔术”是在WPChar变量的计算中完成的。将此值设置为通过将以点为单位的列的宽度(由Width属性返回)除以以字符为单位的列的宽度(由ColumnWidth属性返回)得出的值。该值是当前设置下一个字符的点数,然后用于计算在下一个程序行中应使用多少个字符来设置宽度。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(1943)适用于Microsoft Excel 97、2000、2002和2003。