Макрос VBA Excel 2010 завершается без ошибок в середине выполнения после Selection.Insert Shift: = xlDown, CopyOrigin: = xlFormatFromLeftOrAbove - PullRequest
0 голосов
/ 29 ноября 2018

По какой-то причине мой макрос просто останавливает выполнение, но без ошибок сразу после выполнения строки:

Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Он корректно перемещает содержимое вниз по строке, но я не вижу сообщений об ошибках.

Используя F8 для пошагового выполнения макроса, одна строка имеет желтую стрелку слева от нее непосредственно перед выполнением, я нажимаю F8, она выполняет вставку, и желтая стрелка, указывающая на следующую строку какЯ бы ожидал.Также нет диалогового окна с ошибками.

Даже с помощью Step Into в меню Debug, после выполнения вставки, редактор VBA просто действует так, как если бы он завершил выполнение всего макроса.

Спасибо залюбые предложения!

Редактировать: Вот полный сценарий.Он умирает при заполнении листа «Апр» за апрель, никогда не переходя к следующей строке ( Range («APR_END»)). Смещение (-1, 0) = NewSPPLineName ):

Sub Add_New_SPP_LINE()

Dim StartPoint As Worksheet
Dim resp As Long

Application.CutCopyMode = False
Worksheets("Account Info").Activate
Set StartPoint = ActiveSheet
resp = vbYes
resp = MsgBox(Prompt:="Do you want to enter a new SPP Line Name now?" _
, Buttons:=vbQuestion + vbYesNo)
If resp = vbYes Then
'Enter new client name
    NewSPPLineName = InputBox("Enter new SPP Line Name:")
  'Add account to Account Info table
    Worksheets("Account Info").Activate
    Range("ACCT_INFO_END").EntireRow.Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("ACCT_INFO_END").Offset(-1, 0) = NewSPPLineName
  'Add account to APR table
    Worksheets("Apr").Activate
    Range("APR_END").EntireRow.Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("APR_END").Offset(-1, 0) = NewSPPLineName
  'Add account to MAY table
    Worksheets("May").Activate
    Range("MAY_END").EntireRow.Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("MAY_END").Offset(-1, 0) = NewSPPLineName
  'Add account to JUN table
    Worksheets("Jun").Activate
    Range("JUN_END").EntireRow.Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("JUN_END").Offset(-1, 0) = NewSPPLineName
  'Add account to JUL table
    Worksheets("Jul").Activate
    Range("JUL_END").EntireRow.Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("JUL_END").Offset(-1, 0) = NewSPPLineName
  'Add account to AUG table
    Worksheets("Aug").Activate
    Range("AUG_END").EntireRow.Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("AUG_END").Offset(-1, 0) = NewSPPLineName
  'Add account to SEP table
    Worksheets("Sep").Activate
    Range("SEP_END").EntireRow.Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("SEP_END").Offset(-1, 0) = NewSPPLineName
  'Add account to OCT table
    Worksheets("Oct").Activate
    Range("OCT_END").EntireRow.Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("OCT_END").Offset(-1, 0) = NewSPPLineName
  'Add account to NOV table
    Worksheets("Nov").Activate
    Range("NOV_END").EntireRow.Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("NOV_END").Offset(-1, 0) = NewSPPLineName
  'Add account to DEC table
    Worksheets("Dec").Activate
    Range("DEC_END").EntireRow.Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("DEC_END").Offset(-1, 0) = NewSPPLineName
  'Add account to JAN table
    Worksheets("Jan").Activate
    Range("JAN_END").EntireRow.Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("JAN_END").Offset(-1, 0) = NewSPPLineName
  'Add account to FEB table
    Worksheets("Feb").Activate
    Range("FEB_END").EntireRow.Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("FEB_END").Offset(-1, 0) = NewSPPLineName
  'Add account to MAR table
    Worksheets("Mar").Activate
    Range("MAR_END").EntireRow.Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("MAR_END").Offset(-1, 0) = NewSPPLineName

''End cycling through the sheets
'Resume at original position
    StartPoint.Select
Else
MsgBox "New account not entered at this time.", vbCritical
End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...