Обновление формулы ячейки на основе добавленного значения ячейки / строки

Вот моя дилемма:

Я следил за добавлением новой формулы строки / ячейки из Ron de Bruin, и она работает великолепно; однако я беру значения, введенные в новые ячейки, и использую их в вычислениях … которые также добавляются в новые ячейки. Я пропущу код, на который я ссылаюсь ниже:

rng.Parent.Cells(LastRow + 1, LastCol + 2).Value = spm rng.Cells(LastRow + 1, LastCol + 2).Borders(xlDiagonalDown).LineStyle = xlNone rng.Cells(LastRow + 1, LastCol + 2).Borders(xlDiagonalUp).LineStyle = xlNone With rng.Cells(LastRow + 1, LastCol + 2).Borders(xlEdgeLeft) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With rng.Cells(LastRow + 1, LastCol + 2).Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With rng.Cells(LastRow + 1, LastCol + 2).Borders(xlEdgeBottom) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With rng.Cells(LastRow + 1, LastCol + 2).Borders(xlEdgeRight) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With rng.Cells(LastRow + 1, LastCol + 2).Borders(xlInsideVertical).LineStyle = xlNone rng.Cells(LastRow + 1, LastCol + 2).Borders(xlInsideHorizontal).LineStyle = xlNone With rng.Cells(LastRow + 1, LastCol + 2) .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With rng.Parent.Cells(LastRow + 1, LastCol + 3).Locked = False Range("K8").Value = tsqs Range("L8").Value = spm 'Calculate value for Man Hours per Item rng.Parent.Cells(LastRow + 1, LastCol + 3).Formula = <<still working on this bit>> 

Итак, в основном то, что мне интересно, это: 1. Как добавить формулу в ячейку (новая ячейка в столбце 3 и 4), которая использует значение двух вновь созданных ячеек?

Основной макет:

Строка 16, столбец A (ввод предустановленного текста) | Столбец B (InputBox генерирует значение ячейки) | Столбец C (InputBox генерирует значение ячейки) | Столбец D (формула для расчета B * C) | Столбец E (формула для расчета D * B)

Я могу получить формулы для вычисления через VBA, это не проблема; моя проблема в том, что если пользователь меняет значение в любой из вновь созданных ячеек в столбцах B / C, как мне / я могу обновить формулу во вновь созданных ячейках в столбцах D & E?

Я думал об использовании Worksheet.Calculate, но я не уверен, что это будет работать на вычисления VBA.

Я могу опубликовать полный Sub () для просмотра, если это необходимо.

Попытка вставить код, который у меня есть, я надеюсь, будет хорошим примером:

 Private Sub ExportMath() Dim LR As Long LR = Cells(Sheets("Export Report").Rows.Count, 1).End(xlUp).Row Sheets("Export Report").Range("O2").Formula = "=NETWORKDAYS(C2,D2)" Sheets("Export Report").Range("O2:O" & LR).FillDown End Sub 

В этом коде я определяю только свою последнюю строку, добавляю формулу, которую нужно использовать, а затем заполняю ее по всему столбцу.

Если у вас есть определенный столбец, с которым вы будете работать (даже если вы вставляете через .Insert Shift: = xlToRight или .Insert Shift: = xlDown), вы сможете запрограммировать определенное имя столбца. В этом конкретном случае я применяю эту формулу ПОСЛЕ всех манипуляций с электронными таблицами; однако, если бы я должен был разместить этот расчет до того, как я начну вставлять / удалять строки / столбцы, именованные ячейки (O2: O) будут обновляться Excel.

Давайте будем гением компьютера.