Excel VBA устанавливает высоту строки для вставленной строки - PullRequest
0 голосов
/ 18 января 2019

Я только что понял, как вставить строки ниже ячейки со значением. Однако в качестве дополнения я хотел бы, чтобы вставленная строка имела определенную высоту, скажем, например, 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 голосов
/ 18 января 2019

Вы не говорите, в чем ваша проблема, но вам не нужны две петли.Установите высоту при вставке строки.

Спасибо @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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...