【问题标题】:Excel VBA - Calculate column width in inchesExcel VBA - 以英寸为单位计算列宽
【发布时间】:2018-03-22 10:01:05
【问题描述】:

我正在尝试以英寸为单位确定列的宽度。 此公式将宽度设置为 5 英寸,但我看不到 C 列的宽度(英寸)...

Columns("D:D").ColumnWidth = Application.InchesToPoints(5) * (Columns("D:D").ColumnWidth / Columns("D:D").Width)

感谢任何帮助。

【问题讨论】:

    标签: excel vba column-width inches


    【解决方案1】:

    将列宽除以 Application.InchesToPoints(1)(基本上是 72)。

    MsgBox Columns("C").Width / Application.InchesToPoints(1)
    

    “列宽”不是点,“宽度”是点。

    【讨论】:

    • 如果我在将 D 列设置为 5 英寸后使用它来计算 D 列的宽度,它会返回值 4.854...任何想法为什么?
    • 与其硬编码72,不如使用Application.InchesToPoints(1)
    • @Mush 最近几分钟我一直在玩。如果您执行Columns("D:D").ColumnWidth = ... 语句两次(或更多),这似乎是成功的。不知道为什么。
    • 这很奇怪...所以我可以包含 Columns("D:D").ColumnWidth = ... 两次来设置宽度,但 Columns("D:D").Width/Application.InchesToPoints(1) 一次来读取宽度。
    • @Mush 可能,除非在某些情况下需要完成 三次 次:D(这就是奇怪的变通方法的麻烦 - 你永远不知道他们是否会适用于所有情况。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-21
    • 2016-10-08
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多