2015-11-02 63 views
0

大多数人都知道,您应该计算VBA中的所有数字,并将它们全部加载到Excel中,以减少电子表格访问次数并提高速度。通常范围(“a1:a10”)= myArray。Excel:如何将多个公式加载回一个范围

那么,我想要做到这一点,但公式而不是价值观。

Sub myTest() 
    Dim myFormulas() As String 
    ReDim myFormulas(1 To 5) 

    myFormulas(1) = "Abc" 
    myFormulas(2) = "Ac" 
    myFormulas(3) = "Ab" 
    myFormulas(4) = "bc" 
    myFormulas(5) = "=A1" 

    Range("F232:J232").Formula = myFormulas 
End Sub 

这“几乎成功”。在J232中,它显示text = A1而不是A1的值。然后我需要进入公式,并按下= A1的输入,然后转换为A1的值。

有没有人经历过这个?任何修复?

回答

0

这是因为你将其设置为一个字符串,试试这个:

Sub myTest() 
    Dim myFormulas() As Variant 
    myFormulas = Array("Abc", "Ac", "Ab", "bc", "=A1") 
    Range("F232").Resize(1, UBound(myFormulas) + 1).Formula = myFormulas 
End Sub 

它更加动态调整使用工作离数组的大小,而不是静态的范围也做了

相关问题