Скопировать формулу — Visual Basic(Бейсик)

Range("B2") = Range("A1").Formula ' Вариант III.
Range("B2").Value = Range("A1").Formula ' Вариант II.
Range("B2").Formula = Range("A1").Formula ' Вариант I.
Предполагается, что:

Range("B2") - это ячейка, где будет формула
Range("A1") - это исходная ячейка с формулой
Этот вариант предназначен для тиражирования обычных формул, для того, чтобы он работал и с формулами массива, необходимо использовать:

If Not Range("A1").HasArray Then
   Range("B2").Formula = Range("A1").Formula
Else
   If Range("A1").CurrentArray.Count = 1 Then
      Range("B2").FormulaArray = Range("A1").Formula
   Else
      MsgBox "Эта формула массива, по замыслу создателя, должна занимать более одной ячейки"
   End If
End If

Leave a Comment