Если правильно понял, внизу строки с 5 в столбце Е создает такую же строку:
[vba]Код
Sub NNN2()
Dim ws As Worksheet
Dim lastRow As Long, i As Long
Dim valueE As Variant
' Устанавливаем активный лист (можно заменить на конкретный лист)
Set ws = ActiveSheet
' Определяем последнюю строку с данными в столбце A (можно изменить на другой столбец)
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' Проходим по строкам снизу вверх (чтобы не нарушить нумерацию)
Application.ScreenUpdating = False
For i = lastRow To 1 Step -1
valueE = ws.Cells(i, "E").Value ' Проверяем значение в столбце E
' Если в столбце E стоит цифра 5
If valueE = 5 Then
' Вставляем строку ниже текущей
ws.Rows(i + 1).Insert Shift:=xlDown
' Копируем всю строку в новую строку
ws.Rows(i).Copy Destination:=ws.Rows(i + 1)
' Можно очистить значение в столбце E для дубликата (по желанию)
' ws.Cells(i + 1, "E").ClearContents
End If
Next i
Application.ScreenUpdating = True
MsgBox "Готово! Строки с цифрой 5 в столбце E были продублированы.", vbInformation
End Sub
[/vba]