Excel VBA计算行的高度

时间:2014-07-28 20:51:25

标签: excel vba excel-vba

我正在处理的工作簿中有几行需要合并列和合并行。出于这个原因,Excel的自动适应对我没有好处。也有可能,并且很可能在某些时候这些将需要扩展到Excel的行高度的409.5pt限制之外。

出于这个原因,我正在寻找一种方法来计算一组行的总高度,以便它们适合使用VBA的文本块。

如何计算必要的行高以适应文本块,知道它会超过409.5pt?字体大小和单元格宽度将保持不变,因此可以用它来计算它。

1 个答案:

答案 0 :(得分:0)

12pt字体就像1/6",即一英寸有72个点。使用你的字体大小,你应该能够提出一个合理地近似必要行高的算法。

使用类似的东西打印字体大小列表&行高,并使用结果来提出转换公式。

Sub Test()

Dim r As Range
Dim i as Integer

Set r = [a1]
r.EntireRow.AutoFit = True
For i = 1 to 10

    MsgBox "Row height = " & r.Height & vbCrLF & _
            "Font size = " & r.Font.Size

    Debug.Print r.Height & vbTab & r.Font.Size

    r.Font.Size = r.Font.Size + 1
Next

End Sub

宽度比较棘手,因为单个字符的宽度不同(i比许多字体中的W窄得多),尽管有一些函数会计算每个字符的宽度普通字体的字符