Вам следует избегать Select
при использовании Листового кода (лучше всего избегать его вообще, об этом позже) и использовать вместо этого что-то подобное
Application.Goto Sheets("Format").Range("A13:N13")
(я пытался полностью квалифицировать ссылку, но это работало, только если я использовал
Sheets("Format").Select
Sheets("Format").Range("A13:N13").Select
, что явно излишне)
Хотя это решает вашу непосредственную проблему, вам следует взглянуть на консолидацию кода, например
- Отключение событий, чтобы другие листовые события не срабатывали, пока запущен ваш выбор
- Удаление любых
Select
операторов
Это пример того, что может работать лучше (теперь без активации листа)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim lngRand As Long
Dim rng1 As Range
Set ws1 = Sheets("Format")
Set ws2 = Sheets("IR")
If Intersect(Target, ActiveCell) = "Insert line" Then
lngRand = ActiveCell.Row
If ws2.Cells(lngRand, 18).Value <> 5 Then
Application.EnableEvents = False
Set rng1 = Range("A" & lngRand + 2 + ws2.Cells(12, 18))
'extend rng1 from column A to colum N
Set rng1 = rng1.Resize(rng1.Rows.Count, 14)
ws2.Range(rng1.Address).Insert xlDown
'copy Format to IR
ws1.Range("A13:N13").Copy ws2.Range(rng1.Address)
'Update Format
ws2.Range("A38:N38").Delete Shift:=xlUp
ws2.Cells(12, 18).Value = ws2.Cells(12, 18).Value + 1
Application.EnableEvents = True
End If
End If
End Sub