ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 34743|回复: 15

[2007] excel 2007中 设置 行高和列宽的单位是什么?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-1-31 18:41 | 显示全部楼层 |阅读模式

excel 2007中  设置 行高和列宽的单位是什么?好像单位不统一啊,比如你设置行高是20列宽是20,却得不到一个正方形啊?有高手知道原因吗?谢谢

TA的精华主题

TA的得分主题

发表于 2007-1-31 19:37 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
像素一样,长短也一样

TA的精华主题

TA的得分主题

发表于 2007-3-7 21:29 | 显示全部楼层

同时显示两个数,后面的是象素,前面的单位是什么,有像素设成正方形后,前面的值不同。

TA的精华主题

TA的得分主题

发表于 2007-3-20 09:24 | 显示全部楼层

在工作表中,您可以将列宽指定为 0(零)到 255。此值表示可在用标准字体 (标准字体:工作表的默认文本字体。标准字体决定了“常规”单元格样式的默认字体。)进行格式设置的单元格中显示的字符数。默认列宽为 8.38 个字符。如果列宽设置为 0,则隐藏该列。

您可以将行高指定为 0(零)到 409。此值以点数(1 点约等于 1/72 英寸)表示高度测量值。默认行高为 12.75 点。如果行高设置为 0,则隐藏该行。

TA的精华主题

TA的得分主题

发表于 2008-5-11 17:10 | 显示全部楼层

回复“excel 2007中 设置 行高和列宽的单位是什么?“

查阅有关资料,Excel 2007软件行高所使用单位为磅和像素,1cm=28.6磅,1=3/4像素,1像素=0.26mm。列宽使用单位为1/10英寸和像素,1英寸=2.54cm1像素=0.26mm。实际操作时列宽和行高单位在设计上都存在缺陷。

Excel 2007的列宽单位在设计上存在缺陷,宽度为1(单位是1/10英寸,下同)的单元格是13像素;宽度为10的单元格是85个像素,不等于10×13;宽度为20的单元格是165个像素,不等于20×13,也不等于2×85;宽度为100的单元格是805个像素;等等……。

不同的列宽计量单位无法按统一比例进行相互转换,相同的列宽计量单位也不能相加,如同为像素计量单位,100个列宽为5像素的单元格的总列宽比一个列宽是500像素的单元格要宽约4像素。

Excel 2007的行高计量单位在设计上也存在缺陷,相同的行高计量单位也不能相加,如同为像素计量单位,100个行高为5像素的单元格的总行高比一个行高是500像素的单元格要高约6像素。

同一计量单位的行高和列宽也不统一,如行高和列宽均为500像素的单元格,应是一个正方形,打印后实际测量列宽为12.15厘米,行高为13.30厘米,偏差比较大。

不清楚什么原因使功能强大Excel 2007能有如此糟糕的行高和列宽计量单位,给我们在表格设计上增加了很多麻烦,我们别无选择,只能“削足适覆”。在实际表格设计时要选择误差比较小的像素为列宽和行高的计量单位作参考。

TA的精华主题

TA的得分主题

发表于 2008-5-16 13:30 | 显示全部楼层

5楼的解释不正确:

我已经研究了几年了。

我的观点:

1、行高(步值是磅)

其单位是磅:1吋=72磅=25.4mm

(但Excel中有一固定的误差,实际打印出的值比计算值大3~5%)

2、列宽(k)

比行计算要复杂,步值是像素。

其单位是字符(与选择的PDI有关,就是显示像素)

PDI=96时,96像素=1吋=25.4mm

PDI=120时,120像素=1吋=25.4mm

……

可以使用VBA求出其1字符的宽(k1)

每增加1字符的增量(L)=用VBA求2字符的宽(k2)-k1

这样可避开PDI

a、当宽(k)≤1字符时:

可按比例计算。

宽(mm)=k*25.4/k1*72

宽(字符)=mm*72/25.4*k1

b、当宽>1字符时:

宽(mm)=((k-1)*L+k1)*25.4/72

宽(字符)=(mm*72/25.4-k1)/L+1

敬请指教!

[此贴子已经被作者于2008-5-16 13:37:13编辑过]

TA的精华主题

TA的得分主题

发表于 2008-5-16 13:42 | 显示全部楼层
板主说:“像素一样高宽一样”。在Excel中就是不同,不信,可设一高宽均为X像素的一个单元格,打印后测一下。行总比列长(3~5%)!!

TA的精华主题

TA的得分主题

发表于 2010-8-8 11:23 | 显示全部楼层
像素和列宽值的关系
列宽=1个单位时,共含有13个像素,
而列宽>1时,每个列宽单位各含8个像素。

即像素1-13时,列宽实际值为=像素/13
而像素>13时,列宽实际值为=(像素-13)/8+1

然后需要四舍五入取值,合并公式为:
设单元格B2中为像素值,则
=ROUND(IF(B2<13,B2/13,(B2-13)/8+1),2)

或在vba中,假设像素值变量=x,则
=ROUND(IIF(x<13,B2/13,(B2-13)/8+1),2)

==================================
下面是简单的测试代码
Sub test()
    For x = 1 To 72
        t = Round(IIf(x < 13, x / 13, (x - 13) / 8 + 1), 2)
        Cells(1, x).ColumnWidth = t
        Cells(x, 25) = t
        Cells(x, 26) = Cells(1, x).ColumnWidth
    Next
End Sub

测试发现vba中的round函数精度有问题……


因此,最后修改使用工作表函数后vba代码如下:

t = Application.WorksheetFunction.Round(IIf(x < 13, x / 13, (x - 13) / 8 + 1), 2)

TA的精华主题

TA的得分主题

发表于 2010-8-8 11:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
看的我头晕啊

TA的精华主题

TA的得分主题

发表于 2010-8-8 15:11 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-2 17:20 , Processed in 0.037120 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表