МС 2010 чтобы макрос не удается - не удается установить обновление ячейки формула
Мой макрос MS Excel (подпрограмма), который обновляет формулу ячейки, начал выходить из строя (после последнего обновления Microsoft 2017-03-10). Теперь, когда этот раздел кода запускается, MS Excel останавливается, а затем пытается восстановиться. Строка кода, вызывающая остановку, - это повторное назначение обратно в ячейку с новой / измененной формулой. Я проверил строку кода, указав на пустую ячейку, и она успешно работает. При наведении его обратно на уже заполненную ячейку код не срабатывает. Я широко искал возможные причины, не находя решения. Мы очень ценим вашу помощь. Ниже фрагмент кода показывает, что я делаю:
Фрагмент кода:
' Insert new row in "Register"; Push down rows; automatic update row numbers ' iRowInsert code inserts new row (oWS1.Range("A5").EntireRow.Insert) Call iRowInsert Dim oWS1, oWS2, i, j, k, orgFormula, newFormula Dim oRNG, maxRows, maxCols, rowStart, rowCurrent Set oWS1 = Worksheets("Register") Set oWS2 = Worksheets("Budget") ' Identify range beginning row number rowStart = 5 rowCurrent = rowStart ' Retrieve cell's formula orgFormula = oWS2.Cells(rowCurrent, 4).Formula ' orgFormula is "=SUMIFS(Register!$I$6:$I412,Register!$K$6:$K412,D$1,Register!$H$6:$H412,$A5)" ' Replace original formula's starting row number newFormula = Replace(newFormula, "$6:", "$4:") oWS2.Cells(rowCurrent, 4).Locked = False ' really not needed - workbook not protected ' ******* fails when re-setting a filled cell's formula ***** oWS2.Cells(rowCurrent, 4).Formula = newFormula ' ************************************************************ ' oWS2.Cells(rowCurrent, 3).Value = newFormula ' works correctly when inserted into empty cell oWS2.Cells(rowCurrent, 4).Locked = True ' really not needed - workbook not protected
Что я уже пробовал:
(1) Google аналогичные проблемы и проанализировал предлагаемые результаты
(2) Содержание и структура формата с двойной/тройной проверкой -
(3) запуск кода против пустой ячейки-успешная вставка
(4) запуск кода против заполненной ячейки-сбой