请问如何用vba获取excel某一单元格中文字的行数?(单元格是自动换行格式)
2个回答
展开全部
Function lines(r) 'r 为某单元格,如A1
r.WrapText = False
x = r.Height
r.WrapText = True
y = r.Height
lines = y / x
End Function
使用方法 lines(range("A1"))
思路:设置该单元格不自动换行,得到此时的高度x,恢复自动换行,得到此时的高度y,行数=y/x
更多追问追答
追问
试了下,出现的问题是无论单元格是否设置成换行,其行高始终是个固定值,也就是说结果始终是1
追答
哦,疏忽了,我是用的2013,设置自动换行后,会自动调整行高,以前版本可能不会,所以要加一句自动调整行高。
Function lines(r)
r.WrapText = False
r.Rows.AutoFit
x = r.Height
r.WrapText = True
r.Rows.AutoFit
y = r.Height
lines = y / x
End Function
Sub test()
MsgBox lines(Range("D8"))
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询