EXCEL VBA如何根据单元格里的内容长度调整单元格行高?
我设置自动换行和合并单元格,然后行高就不能自动适应了,现在我想用VBA实现根据单元格内字符串的长度和字体大小来调整行高,这个该如何实现?或者告诉我用什么语句能探测具体某一...
我设置自动换行和合并单元格,然后行高就不能自动适应了,现在我想用VBA实现根据单元格内字符串的长度和字体大小来调整行高,这个该如何实现?
或者告诉我用什么语句能探测具体某一个单元格内的字符串长度,还有,用什么语句能判断出这个选中的单元格是由几个小格子合并得到的,谢谢了!!! 展开
或者告诉我用什么语句能探测具体某一个单元格内的字符串长度,还有,用什么语句能判断出这个选中的单元格是由几个小格子合并得到的,谢谢了!!! 展开
2个回答
展开全部
1、判断一个单元格内的字符串长度用Len函数,用法如下:
s = Len(Range("A1").Text)
这里的s就表示字符串有多少个字符组成的。
2、判断选中的单元格是由几个小格子组成的可以这样:
比如:
Sub yy()
[h6:k8].Merge '将h6:k8区域合并单元格
[h6].Select '选中H6:k8这个合并单元格
MsgBox Selection.Count '通过Selection.Count这个命令就可以得到选中的这个区域的单元格数目
End Sub
3、让单元格自动调整行高,用AutoFit,自动适应方法,用法如下:
Sub xx()
Range("A1:F6").Rows.AutoFit
End Sub
这样就可以自动调整行高了!
展开全部
如何获取单元格内容的行数,再乘以某个值,
根据行数设定行高
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim a, b
Sheet1.UsedRange.Offset(1, 1).ClearContents
[a1].CurrentRegion.EntireRow.AutoFit
For i = 2 To [a65536].End(3).Row
Cells(i, 1).WrapText = True
a = Cells(i, 1).RowHeight
Cells(i, 1).WrapText = False
b = Cells(i, 1).RowHeight
Cells(i, 1).WrapText = True
Rows().RowHeight = Application.Ceiling(a / b, 1) * 10
Next
Application.ScreenUpdating = True
End Sub
根据行数设定行高
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim a, b
Sheet1.UsedRange.Offset(1, 1).ClearContents
[a1].CurrentRegion.EntireRow.AutoFit
For i = 2 To [a65536].End(3).Row
Cells(i, 1).WrapText = True
a = Cells(i, 1).RowHeight
Cells(i, 1).WrapText = False
b = Cells(i, 1).RowHeight
Cells(i, 1).WrapText = True
Rows().RowHeight = Application.Ceiling(a / b, 1) * 10
Next
Application.ScreenUpdating = True
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询