Заполнение вставленной ячейки текстом - PullRequest
0 голосов
/ 05 августа 2020

Этот код отлично работает при вставке пустых строк на основе значения ячейки, но теперь мне нужно также заполнить эти новые строки в диапазоне («E»), говоря «False». Не знаю, как это сделать.

Sub Procedure1()
Dim i As Integer
Dim LastRow As Long

LastRow = Sheets("Sheet1").Cells(Rows.Count, "F").End(xlUp).Row

For i = LastRow To 2 Step -1

    a = Sheets("Sheet1").Cells(i, 8).Value
        For j = 1 To a
        
        Sheets("Sheet1").Rows(i + 1).Select
        Selection.Insert Shift:=xlDown
        
    Next
    
Next

Sheets("Sheet1").Cells(i, 1).Select

End Sub

Есть мысли?

1 Ответ

2 голосов
/ 05 августа 2020

Вы можете избежать внутреннего l oop, используя Resize.

И вы можете вообще избежать Select .

Sub Procedure1()

Dim i As Long, j As Long
Dim LastRow As Long
Dim a

With Sheets("Sheet1")
    LastRow = .Cells(Rows.Count, "F").End(xlUp).Row
    For i = LastRow To 2 Step -1
        a = .Cells(i, 8).Value 'best to check this is a number before going further
        .Rows(i + 1).Resize(a).Insert Shift:=xlDown
        .Range("E" & i + 1).Resize(a).Value = "False"
    Next
End With

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