请问如何用vba获取excel某一单元格中文字的行数?(单元格是自动换行格式)

如题所述

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

追问

感谢提供,但此法只适用于行少时,行多误差就大了,不过我已摸索到较合适的方法了。

再请教个问题,打印预览时各列都会不同程度地变窄,会导致走的单元格内容显示不全,这如何解决?

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-12-19
搜一下:请问如何用vba获取excel某一单元格中文字的行数?(单元格是自动换行格式)

请问如何用vba获取excel某一单元格中文字的行数?(单元格是自动换行格...
Function lines(r) 'r 为某单元格,如A1r.WrapText = Falsex = r.Heightr.WrapText = Truey = r.Heightlines = y \/ xEnd Function使用方法 lines(range("A1"))思路:设置该单元格不自动换行,得到此时的高度x,恢复自动换行,得到此时的高度y,行数=y\/x ...

求vba获取某一任意单元格内的文本所占行数的代码
杀猪焉用牛刀,简单函数公式就可以解决!如图所示,B1单元格输入公式=LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(10),))+1 下拉公式。

...用vba 如何统计一个单元格内的字的行数 当然这个单元格的格式是...
你可以先获取某一个不带有换行的标准行高,然后将要测试的某行的行高除以标准行高,得到的商就是行数了。

vba如何读取excel中某单元格的行数或列数
1、将单元格所选单元格的行号和列号,分别用VBA显示在下面的两个单元格中,如下图所示:2、按下Alt+F11,打开VBA编辑界面,选择当前工作表编写代码,如下图所示:3、下面代码是得到当前单元格的行号并放到当前单元格下一个单元格中:4、下面代码是得到当前单元格的列号并放到当前单元格下面第二个单...

VBA怎么调用EXCEL里某个单元格的行值?类似ROW()
一、第一个要求:(假如数据不超过1000行)n=MAX(IF(B1:B1000<>"",ROW(B1:B1000)))二、第二个要求:(假如选定单元格为A10)n=row(A10)

Excel VBA 单元格设置好为自动换行。问:怎样获取单元格内共有多少行...
选中目标单元格,执行下面的过程即可 Option ExplicitSub GetMultiLine()Dim OStr As String, OLen As IntegerOStr = ActiveCell.ValueOLen = Len(OStr)If OLen = 0 Then MsgBox "空单元格" Exit SubEnd If'单元格非空时获取换行符,并获取单元格内各行文本Dim arrStr() As String, Cvt...

如何通过vba获取当前单元格所在行和列
想要通过VBA获取当前单元格所在行和列,可以使用如下的函数:Function rc_test(a)On Error Resume Next rc_test = a.Row & "\/" & a.Column End Function 在使用此函数时,只需要传入当前单元格作为参数即可。函数将返回一个字符串,其中包含当前单元格所在的行号和列号,格式为“行号\/列号”。

VBA如何读取Excel单元格内的换行?
用下replace(sheet1.cells(1,1),chr(10),chr(13))替换一下看看,前面那个是换行符,后面那个是回车符.将换行符替换位回车符应该可以吧.呵呵,可惜的是不知道这里的换行是怎么编码的啊

如何通过vba获取当前单元格所在行和列
首先,我们需要在VBA编辑器中定义这个函数。可以使用`Sub`或`Function`语句,这里我们选择`Function`,因为这个函数需要返回一个值。函数的名称为`rc_test`,参数为`a`。参数`a`代表当前活动的单元格。通过使用这个单元格对象,我们能够访问其属性。在函数内部,使用`On Error Resume Next`语句。这句...

vba excel怎么获取指定工作表的行数、列数
excel获取指定工作表的行数、列数的具体操作方法如下:1.首先,打开Excel软件 2.打开源数据文件,假如需要根据证券代码显示出行业名称。现在,在I1单元格输入”证券代码“,在J1单元格输入”Nnindnme"。3.如图,选中J2单元格,单击工具栏中的"插入函数“4.弹出”插入函数“对话框,选择插入IF函数 5....

相似回答