EXCEL VBA如何根据单元格里的内容长度调整单元格行高?

我设置自动换行和合并单元格,然后行高就不能自动适应了,现在我想用VBA实现根据单元格内字符串的长度和字体大小来调整行高,这个该如何实现?或者告诉我用什么语句能探测具体某一... 我设置自动换行和合并单元格,然后行高就不能自动适应了,现在我想用VBA实现根据单元格内字符串的长度和字体大小来调整行高,这个该如何实现?
或者告诉我用什么语句能探测具体某一个单元格内的字符串长度,还有,用什么语句能判断出这个选中的单元格是由几个小格子合并得到的,谢谢了!!!
展开
 我来答
unsamesky
推荐于2017-11-25 · TA获得超过2735个赞
知道小有建树答主
回答量:859
采纳率:100%
帮助的人:434万
展开全部

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

这样就可以自动调整行高了!

钢铁手表
2013-06-08
知道答主
回答量:6
采纳率:0%
帮助的人:7238
展开全部
如何获取单元格内容的行数,再乘以某个值,

根据行数设定行高
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式