使用VBA复制数组公式

时间:2016-06-22 13:17:31

标签: excel excel-vba vba

我有以下Excel表格:

          A                 B                    C                    D                       E
1                     Purchase Price        Sales Price      Purchase Price > Sales Price
2     Product A            50                    40        ={COUNT(IF(ISNUMBER(B2:B10),IF(B2:B10>C2:C10-10,B2:B10)))}
3     Product B            60                    65
4     Product C            80                    60
5     Product D            10                    20
6     Product E            50                    30
7     

现在我想使用以下宏将公式从单元格B2:D6复制到单元格E2:G6:

Sub Array_Formula()
Sheets("Sheet1").Range("E2:G6").Formula = Sheets("Sheet1").Range("B2:D6").Formula
End Sub

此宏将公式从单元格B2:D6复制到单元格E2:G6中。但是,它不会复制单元格D2中公式的{},因此它不会保留为数组。

如何更改我的宏,以便复制包含数组的公式?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如评论中所述,解决方案是以下VBA:

Sub Copy_Array_Formula()
Sheet1.Range("B2:D6").Copy
Sheet1.Range("E2:G6").PasteSpecial xlFormulas
End Sub