EXCEL VBA中,如何让列宽随窗口的变化而按比例调整

EXCEL VBA中,如何让列宽随窗口的变化而按比例调整,第1张

仅提供思路

ActiveWindowWidth返回的是像素点数

一般全屏至少800或1024

所以结果不对

可以用尺测量一下

列宽为100时所对应的的像素点数

一般大概即可

然后除以100

则得到列宽为1是对应的像素点数

然后在

ActiveWindowWidth 07中

除以此像素点数

另外

语句直接写成

Columns("D:D")ColumnWidth = Round(ActiveWindowWidth 07/n, 0)

n是上面计算的列宽为1是对应的像素点数

仅供参考祝您顺利

没找到专门的选中文本的方法可以直接计算,但可以用以下方式得到计算结果。

Sub chang()

 Dim a As Integer

 a = Len(SelectionText)‘selectiontext表示选中的文本,len方法计算选中字符串长度

 MsgBox a

End Sub

宽度为9999999即不可取宽度,原因是:

当Word合并行以后,在合并单元格的左侧,它所占的各行中第一行的列数必须不少于其它行的列数(注意是左侧),这时合并单元格的宽度才是可取的。这是因为程序在取合并单元格宽度时是取它在第一行中所占的宽度,如果它在第一行中是第八列,而在第二行中却多于这个列数(比如第九列),则VBA就不能正确返回宽度值。

知道了这个道理,很简单,只要保证合并单元格在所占的各行中,在第一行所在的列数不少于它在其它各行中所在的列数却可。

以上就是关于EXCEL VBA中,如何让列宽随窗口的变化而按比例调整全部的内容,包括:EXCEL VBA中,如何让列宽随窗口的变化而按比例调整、WORD VBA 获取所选文字宽度、vba的单元格宽度为什么是9999999等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9584636.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存