Excel VBA为插入的行设置行高

时间:2019-01-18 11:54:34

标签: excel vba

我只是想出了如何在带有值的单元格下面插入行。但是,另外,我希望插入的行具有特定的高度,比如说7。此代码是大代码的一部分,因此在我的示例中,我不会保存sub

问题是此代码不适用于设置RowHeight。第一部分是插入新行,但对行高没有影响。

我尝试了以下方法:

Dim rng as Range

        For Each Rng In ThisWorkbook.Worksheets("Offer Letter").Range("E2:E60")
        If Not IsEmpty(Rng) Then
            Rng.Offset(1, 0).EntireRow.Insert
        End If
    Next


        For Each Rng In ThisWorkbook.Worksheets("Offer Letter").Range("E2:E60")
        If Not IsEmpty(Rng) Then
            Rng.Offset(1, 0).EntireRow.RowHeight = 7
        End If
    Next

1 个答案:

答案 0 :(得分:1)

您无需说出问题所在,但不需要两个循环。插入行时设置高度。

感谢@JvdV指出,在删除或插入行时,应向后循环以避免丢失/跳过行。

Sub y()

Dim r As Long

With ThisWorkbook.Worksheets("Offer Letter")
    For r = 60 To 2 Step -1
        If Not IsEmpty(.Cells(r, "E")) Then
            .Cells(r + 1, "E").EntireRow.Insert
            .Cells(r + 1, "E").EntireRow.RowHeight = 7
        End If
    Next r
End With

End Sub

enter image description here