2010-07-20 14:28:34 +0000 2010-07-20 14:28:34 +0000
57
57

如何在Excel中使单元格成为完美的正方形?

在Microsoft Excel中,

我想使前三行和前四列(左上角的12个单元格)的高度都是正方形,这样这些单元格就成了正方形。*如何才能做到呢? *



出乎意料的是,Excel说:

Row height: 15
Column width: 8.43

所以,这两个单元格的比例不一样。

答案 (21)

50
50
50
2012-08-26 00:38:19 +0000

还有一个方法………..把你的视图改成页面布局。这样可以将网格比例尺改为英寸,然后你可以将高度和宽度都设置为相同的值(例如25英寸)。IMO页面布局是电子表格外观的最佳标准视图。

这里有一个实际尺寸的例子,这两个视图的实际尺寸:

15
15
15
2010-09-17 10:25:08 +0000

选择全部(或您需要的行/列),然后拖动以调整大小到您所需的大小。拖动列标题的边缘来调整列的宽度。会出现一个工具提示,显示准确的像素数。 2. 记住像素值! 3. 拖动行标题的边缘来调整行的高度,其工作原理是一样的。拖动到相同的像素值。

大功告成!

8
8
8
2010-07-20 21:04:17 +0000

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

然后你就可以手动调整你的行和列的大小,以适应这个正方形,并读取高度和列宽。

6
6
6
2013-05-23 01:44:59 +0000

对于这样简单的结果,VBA似乎有点矫枉过正。如果你去拖动改变行/列大小时点击并按住,括号中会显示出以像素为单位的大小。这些单位是没有缩放的,因此,如果你把行和列的大小设置为相等的像素,就会变成正方形。当然,这是一个手动操作的过程………..但你可以找到等值的尺寸,然后选择一个范围的行/列,并一次性设置它们的所有尺寸。

3
3
3
2019-03-05 07:42:49 +0000

下面的代码对我有用

Sub Grid_Squares()
    With Cells(1, 1)
        Cells.RowHeight = .Width
        Cells.ColumnWidth = .ColumnWidth
    End With
End Sub

结果:

3
3
3
2012-08-25 22:29:04 +0000

你需要知道,什么是数学上的正方形和视觉上的正方形是不同的。不是所有的显示器的制作方式都是一样的。一般情况下,像素的宽度都是比高的。

看下面这张图:

每个红、绿、蓝三色子像素构成了整个像素。可以看到,3个子像素的组合比1个子像素的高度要宽。在大多数情况下,这种差异很微妙,大多数人可能不会注意到。但是,在某些情况下,人们会注意到。

2
2
2
2016-06-22 12:01:01 +0000

其实,我过去也遇到过同样的问题。对我来说效果最好的是下面的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

2
2
2
2015-07-09 15:40:09 +0000

我确定了一个正方形可以用每隔1.0点的列宽7.25行高的比例来做一个正方形。

2
2
2
2010-07-20 15:08:29 +0000

如果你想为整个工作表做,你可以用这个技巧–反正可能会有帮助:点击标题A列左边的框,选择所有单元格;点击并拖动其中一个列标题分隔符到你想要的大小,注意到所产生的单元格宽度的像素数(我使用的是Excel 2007,它显示的是这个);对其中一个行标签分隔符做同样的操作,将其与列宽度的像素数匹配。这应该会使工作表中的所有单元格都变成方框。当然,这当然不是你所要求的,但我希望这一招能对子集的单元格起作用。不幸的是,它没有。

2
2
2
2012-08-18 10:46:07 +0000

这里有一个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
1
1
1
2014-04-23 17:32:44 +0000

我用的是5-1/3的比例,行高与列宽的比例。

例如,做一个行高53.33,列宽10,或者106.66和20,分别做一个行高和列宽,就可以接近政府工作。

1
1
1
2010-07-20 14:45:36 +0000

首先,选择你要调整大小的单元格。然后在Home选项卡上,进入Cells框,点击Format选项。在这里,你可以按照你的要求更改所选单元格的Row HeightColumn Width

1
1
1
2019-04-12 21:02:13 +0000

我相信这是最简单的解决方案…..

这种方法利用了Excel尺子,因此更容易理解/更容易和准确的行和列的尺寸。 - 点击 “全选 "按钮(名称簿下方左上角) - 右键单击一行,选择尺寸调整选项,然后输入所需的测量值。右键点击并重复列,

就这样了。结果就是视觉上完美的正方形。在Excel选项中的 "高级 "选项卡的 "显示 "组中,甚至有一个选项可以改变测量单位。希望这对你有很大帮助! :)

1
1
1
2012-03-13 18:45:21 +0000

我想为一个缝纫项目做一个完美的正方形格子,对于这个问题,我一直得到各种奇怪的答案,于是我决定自己玩一玩,想弄清楚。我发现要想得到一个完美的正方形是不可能的,但我已经尽可能地接近了,只是差了一截。 2. 进入格式化选项卡。将列宽格式化为12.43 4.

4.然后将单元格的高度格式化为75.00。

我发现我用尺子在7和10英寸的长度上只差了一小部分。希望这对你有帮助。

1
1
1
2013-05-04 11:43:44 +0000

使用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
0
0
0
2010-07-20 14:35:18 +0000

单击并拖动行间的边框。要一次调整多个列/行的大小,请将其全部选中,右键单击 “行高………..",并将其设置为与行宽相同的高度。

0
0
0
2014-07-07 06:47:18 +0000

一个简单的解决方案

  • 选择所有单元格
  • 将列拖动到所需的像素大小(当你拖动和调整列的大小时,你会看到列的大小在点和像素上都是一样的)
  • 对行重复操作(选择相同数量的像素)
  • 这应该会给你的工作表提供完美的正方形单元格
0
0
0
2014-09-08 23:12:32 +0000

Excel 2010在页面布局视图中调整,然后切换回正常视图时无法工作。我通过使用绘图工具,在正常视图中做一个完美的正方形来验证。这是最简单的方法,可以做出任意大小的正方形。

列宽=2.71行高=18。

0
0
0
2018-08-17 06:06:31 +0000
  • 选择全部 - Ctrl+A
  • 右键点击任意列标题并选择列宽
  • 输入值 = 4> OK
  • 你会看到所有的单元格都是完美的正方形。
0
0
0
2010-07-20 14:46:42 +0000
  • 选择列(点击A列,然后按住shift,再点击另一端)

–右键点击其中一列,点击列宽度,然后输入一个新值。

0
0
0
2013-11-25 10:25:55 +0000

如果你想让行和列看起来是正方形的,请选择所有你想做正方形的单元格,并将行的高度改为28.8,将列的宽度改为4.56。