2015-11-02 85 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 

它更加動態調整使用工作離數組的大小,而不是靜態的範圍也做了

相關問題