У меня есть именованный диапазон как следующее покрытие A2:D3
ITEM PRICE QTY SUBTOTAL
1 10 3 30
1 5 2 10
TOTAL: 40
Я должен вставить новую строку с помощью VBA в диапазон, копируя формулы не значения.
Любые подсказки/ссылки значительно ценятся.
Это должно сделать это:
Private Sub newRow(Optional line As Integer = -1)
Dim target As Range
Dim cell As Range
Dim rowNr As Integer
Set target = Range("A2:D3")
If line <> -1 Then
rowNr = line
Else
rowNr = target.Rows.Count
End If
target.Rows(rowNr + 1).Insert
target.Rows(rowNr).Copy target.Rows(rowNr + 1)
For Each cell In target.Rows(rowNr + 1).Cells
If Left(cell.Formula, 1) <> "=" Then cell.Clear
Next cell
End Sub
Если вы начнете записывать макрос и действительно выполните текущую задачу, он сгенерирует для вас код. По завершении остановите запись макроса, и у вас будет необходимый код, который затем можно будет исправить.
] Это должно вам помочь: http://www.mvps.org/dmcritchie/excel/insrtrow.htm