Я уже написал код VBA, который добавляет новый столбец справа от последнего столбца. Я хочу скопировать формулу последнего столбца, и диапазон должен измениться с соответствующим столбцом. Например, я использую эту формулу в последнем столбце.
=$A$186+SUMPRODUCT($B$14:$B$160;C14:C160)+SUMIF($C14:C160;"<1")
И мне нужно изменить части кода на букву "C".
Я пробовал этот код, но он не работал
lastcolumn = Cells(1, Columns.Count).End(xlToLeft).Column
With ActiveSheet
.Cells(125, lastcolumn + 1).FormulaR1C1 = "=$A$186+SUMPRODUCT(" + Range("B14:B160").Address + ";" + .Cells(1, lastcolumn + 1).EntireColumn.Address + ")+SUMIF(" + .Cells(1, lastcolumn + 1).Address + " ;<1)"
End With
Благодарность!!
1 ответ
Формула автоматически подстраивается под новое положение на листе при копировании. Поэтому вам следует просто скопировать его, а не переписывать.
With ActiveSheet
lastcolumn = .Cells(1, .Columns.Count).End(xlToLeft).Column
.Cells(125, lastcolumn).Copy Destination:=.Cells(125, lastcolumn + 1)
End With
Приветствия
Axel
Похожие вопросы
Новые вопросы
vba
Visual Basic для приложений (VBA) — это управляемый событиями объектно-ориентированный язык программирования для написания макросов, используемый для всего пакета Office, а также для других приложений. VBA не эквивалентен VB.NET или VBS; если вы работаете в Visual Studio, используйте [vb.net]. Если ваш вопрос конкретно касается программирования какого-либо приложения MS Office, также используйте соответствующий тег: [excel], [ms-access], [ms-word], [outlook], [visio] или [ms-project].