如何在Excel中使单元格成为完美的正方形?
在Microsoft Excel中,
我想使前三行和前四列(左上角的12个单元格)的高度都是正方形,这样这些单元格就成了正方形。*如何才能做到呢? *
出乎意料的是,Excel说:
Row height: 15
Column width: 8.43
所以,这两个单元格的比例不一样。
在Microsoft Excel中,
我想使前三行和前四列(左上角的12个单元格)的高度都是正方形,这样这些单元格就成了正方形。*如何才能做到呢? *
出乎意料的是,Excel说:
Row height: 15
Column width: 8.43
所以,这两个单元格的比例不一样。
选择全部(或您需要的行/列),然后拖动以调整大小到您所需的大小。拖动列标题的边缘来调整列的宽度。会出现一个工具提示,显示准确的像素数。 2. 记住像素值! 3. 拖动行标题的边缘来调整行的高度,其工作原理是一样的。拖动到相同的像素值。
大功告成!
Excel的列宽是由Normal样式的单元格中能容纳的零数(0)来衡量的。要换算成点(如何测量行高),请参见 http://www.dailydoseofexcel.com/archives/2004/06/01/column-widths-in-points/
如果不需要精确,只需眼看即可。如果你确实需要比目测更接近,可以在绘图工具栏上放一个正方形,然后在你的工作表上确定尺寸。如果你想要10 x 10,可以使用这样的代码:
sheet1.Shapes(1).Height = 10
sheet1.Shapes(1).Width = 10
sheet1.Shapes(1).Top = sheet1.Shapes(1).TopLeftCell.Top
sheet1.Shapes(1).Left = sheet1.Shapes(1).TopLeftCell.Left
然后你就可以手动调整你的行和列的大小,以适应这个正方形,并读取高度和列宽。
下面的代码对我有用
Sub Grid_Squares()
With Cells(1, 1)
Cells.RowHeight = .Width
Cells.ColumnWidth = .ColumnWidth
End With
End Sub
其实,我过去也遇到过同样的问题。对我来说效果最好的是下面的VBA代码。
该代码对单个单元格有效,但对一个选区也有效。
Sub MakeCellSquareByColumn()
Selection.RowHeight = Selection.Width / Selection.Columns.Count
Selection.ColumnWidth = (((Selection.Width / Selection.Columns.Count) / 0.75 - 5) / 7)
End Sub
Sub MakeCellSquareByRow()
Selection.ColumnWidth = (((Selection.Height / Selection.Rows.Count) / 0.75 - 5) / 7)
Selection.RowHeight = Selection.Height / Selection.Rows.Count
End Sub
&001
你可以把这些宏放在一个模块中,并在快速访问工具栏中为它们分配按钮
注意,当你改变字体类型或大小时,这些方块会消失(通过改变列宽)。这是由于Excel计算列宽的方式造成的。请看: https://support.microsoft.com/en-us/help/214123/description-of-how-column-widths-are-determined-in-excel
我确定了一个正方形可以用每隔1.0点的列宽7.25行高的比例来做一个正方形。
这里有一个VBA的解决方案。
Private Sub MakeSquareCells()
'// Create graph paper in Excel see http://www.erlandsendata.no/english/index.php?d=envbawssetrowcol if you want cm or inches
Set Cursheet = ActiveSheet
'don't drive the person crazy watching you work
UpdateScreen = Application.ScreenUpdating
Application.ScreenUpdating = False
With wksToHaveSquareCells
.Columns.ColumnWidth = 5 '// minimum 2, max 400 ; above 7 --> zoom doesn't work nice
.Rows.EntireRow.RowHeight = .Cells(1).Width
'// ActiveWindow.Zoom = true
End With
Application.ScreenUpdating = UpdateScreen
Cursheet.Activate '// Reactivate sheet that has been active at entrance of this subroutine
End Sub
首先,选择你要调整大小的单元格。然后在Home
选项卡上,进入Cells
框,点击Format
选项。在这里,你可以按照你的要求更改所选单元格的Row Height
和Column Width
。
使用VBA就能很好地实现这个功能。设置一个统一的rowHeight
,然后使用Width
属性(返回列的大小,单位为点),然后将RowHeight
除以它,得到一个无单位的高/宽比。使新的ColumnWidth
乘以原来的ColumnWidth
,使所有的东西都是正方形的。
Sub makeSquares()
Cells.RowHeight = 20
With Cells(1, 1)
W = .ColumnWidth
HWratio = .RowHeight / .Width
Cells.ColumnWidth = W * HWratio
End With
End Sub
单击并拖动行间的边框。要一次调整多个列/行的大小,请将其全部选中,右键单击 “行高………..",并将其设置为与行宽相同的高度。
Excel 2010在页面布局视图中调整,然后切换回正常视图时无法工作。我通过使用绘图工具,在正常视图中做一个完美的正方形来验证。这是最简单的方法,可以做出任意大小的正方形。
列宽=2.71行高=18。
–右键点击其中一列,点击列宽度,然后输入一个新值。
如果你想让行和列看起来是正方形的,请选择所有你想做正方形的单元格,并将行的高度改为28.8,将列的宽度改为4.56。