Вы правы... так и получилось. С учетом знакомства с литературой от главы об обращении к ячейке, пол дня на сие угробил. Победил, но знания мне эти чувствую никогда больше не пригодятся
И да, конечно всё сделал на уровне камня и топора
Но это первый мой опыт.
Sub VstavkaAt()
Dim i As Range
Set i = Range("O5")
If i = 0 Then
MsgBox "Введено недопустимое значение. Укажите ....", vbCritical, "Ошибка!"
Else
Dim l As Range
Set l = Range("D190")
If MsgBox("Желаете вставить пустую строку в " & l & " ? Данные сместятся на одну строку ниже.", vbQuestion + vbYesNo, "........") = vbNo Then
Exit Sub
End If
Application.ScreenUpdating = False
Range(Cells(i, 4), Cells(185, 4)).Copy Cells(i + 1, 23)
Cells(i, 4).Value = ""
Range(Cells(i + 1, 23), Cells(186, 23)).Copy Cells(i + 1, 4)
Range("W7:Y186").Value = ""
Range("D190").Value = ""
End If
MsgBox "Готово!", vbInformation, "Вставка пустой строки"
End Sub
Sub DeleteAt()
Dim i As Range
Set i = Range("P5")
If i = 0 Then
MsgBox "Введено недопустимое значение. Укажите № строки в интервале от ....", vbCritical, "Ошибка! ...."
Else
Dim l As Range
Set l = Range("D192")
If MsgBox("Желаете удалить данные в " & l & " строке? Данные снизу сместятся на одну строку выше.", vbQuestion + vbYesNo, ".....") = vbNo Then
Exit Sub
End If
Application.ScreenUpdating = False
Range(Cells(i + 1, 4), Cells(186, 4)).Copy Cells(i, 4)
Cells(186, 4).Value = ""
Range("D192").Value = ""
End If
MsgBox "Готово!", vbInformation, "Удаление строки"
End Sub