如何使用vba excel中的宏调整合并单元格的行高?

时间:2017-07-15 16:22:35

标签: excel vba

我制作了一份excel表,作为问卷调查表。为了允许广泛的回答和调整设计,我合并了单元格。我现在遇到的问题是行高度不会自动调整。因此,我写了一个简短的宏来解决这个问题。但是,此宏仅适用于单个单元格,并且不适用于合并的单元格。因此,我想知道如何解决这个问题。如何使用vba excel中的宏调整合并单元格的行高?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

与往常一样,如果您发布了宏,那会很有帮助,但我猜您正在尝试使用.entirerow.autofit命令?如果是这样,我不相信此函数会评估合并的单元格。 (如果我错了,有人会纠正我!)

您可能需要考虑使用“Center Across Range”而不是合并单元格。或者,您可能希望创建一个规则来循环遍历单元格以检查字符长度,或者是否输入了“输入密钥”CHR(10),并且基于此大小。例如:

        Sub TestEachCl()
        Dim CL As Range

        'Make sure to include the intersect with usedrange, 
        'otherwise this will take much longer than necessary.
        For Each CL In Intersect(Rows(20), ActiveSheet.UsedRange).Cells

        If InStr(1, CL.Formula, Chr(10)) > 0 Then
        'enter key exists in a cell
        CL.EntireRow.Height = 30
        'probably want to close the loop or have it not do 
        'anything else once it has reached max height, 
        'so it doesn't reduce the size

        End If

        Next CL

        End Sub