1
Введенный ниже код vba (измененный с here) вставляет пустую строку над любой строкой, которая имеет значение «0» в столбце E. Вместо того, чтобы вставлять пустую строку, есть способ скопировать строку с «0» и вставить ее над собой? Может ли этот код vba быть изменен для этого?Вставить скопированную строку на основе значения ячейки
Sub BlankLine()
Dim Col As Variant
Dim BlankRows As Long
Dim LastRow As Long
Dim R As Long
Dim StartRow As Long
Col = "E"
StartRow = 1
BlankRows = 1
LastRow = Cells(Rows.Count, Col).End(xlUp).Row
Application.ScreenUpdating = False
With ActiveSheet
For R = LastRow To StartRow + 1 Step -1
If .Cells(R, Col) = "0" Then
.Cells(R, Col).EntireRow.Insert Shift:=xlDown
End If
Next R
End With
Application.ScreenUpdating = True
End Sub
Вставьте скопированную строку выше * что *? В любом случае, да, это можно сделать, и это должно быть довольно легко. Пробовали ли вы использовать макрорекордер при ручном выполнении копирования/вставки? Это создаст код, который вы сможете использовать для изменения этого макроса. –