gpt4 book ai didi

excel - 通过vba计算包裹单元格中的行数

转载 作者:行者123 更新时间:2023-12-03 03:01:33 25 4
gpt4 key购买 nike

如何通过vba代码计算包装单元格中的行数?

With Cells(1, 1)
.WrapText = False
height1 = .height
.WrapText = True
height2 = .height
End With
MsgBox height2 / height1 & " Lines"

此代码将不起作用,因为我已将行高设置为固定高度(只有一行可见)。

此外,在我的文本中,由于数据是通过 VBA 代码输入的,因此没有换行符。

提前致谢。

最佳答案

一种方法是从未调整单元格的长度中减去已删除换行符的单元格的长度

可以使用工作表函数 Substitute 将换行符替换为 0 长度的字符串

Sub test()
Dim c As Range
Set c = ActiveCell
MsgBox Len(c.Value) - Len(Application.WorksheetFunction.Substitute(c.Value, Chr(10), vbNullString)) & " Linebreak(s)"
End Sub

[更新; 不是换行符!]

正如 Sid 在 Get first two lines of text from a wraped cell in excel 中指出的那样如果使用字体大小(可能会改变),这会很棘手。

我认为最简单的方法是将单元格内容复制到其他地方(复制到空白行),并根据该单元格自动调整该行以获取高度。

关于excel - 通过vba计算包裹单元格中的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9902653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com