求vba获取某一任意单元格内的文本所占行数的代码

如a1单元格内共三行文字,输出3;
b1单元格内有1行文字,输出1;
c1有3行文字,输出3
都是设置了自动换行的连续文本的单元格

杀猪焉用牛刀,简单函数公式就可以解决!如图所示,B1单元格输入公式=LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(10),))+1

下拉公式。

追问

感谢您的函数,可是我想将数值用作进一步的判断,所以还是vba更合适一些

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-22

修改下

Excel怎样快速在单元格内换行每一段字前加序号

第2个回答  2020-05-11
你这个几行文字,指的是单元格内强制换行的文字吗。
可以查找换行符。
如果会用正则,用正则表达式提取换行符chr(10)的数量,加1就是行数。chr(10)就是VBA字符函数对应换行符。
如果不会正则,可以将单元格内的字符串拆分并计算有多少个换行符,加1就可以计算出行数。追问

谢谢指出提问中的遗漏之处,指的是被设置了自动换行的单元格的行数

第3个回答  2020-05-11
这个用数组及split 来快速输出
Sub a()
For i = 1 To 3
arr = Split(Cells(i, 1), Chr(10))
Cells(i, 2) = UBound(arr) + 1
Next
End Sub追问

好像没有效果,无论如何输出都是1