2015-11-06 58 views
0

我想將每個模擬的值存儲在C1012中,從1到1000. 我正在重新計算Worksheet MC的整個C列。 我必須在列BF 中存儲模擬的值我寫了代碼,但沒有給出任何輸出。在ExcelVBA中重新計算並在每個模擬中存儲輸出

Dim i As Integer 

對於i = 1至1000

SimulationArray(i) = Cells(1012, 3).Value 
Worksheet(MC).Column(C).Calculate 

下一I

表( 「MC」)範圍。( 「BF1:BF1000」)= SimulationArray

請幫助。由於

+0

多個問題怎麼回事,但具有'細胞(1012,3)',每個數組元素,將持有相同的值(因爲'cells'是恆定的)。 – findwindow

+0

@findwindow對於每次模擬,單元格(1012,3)都會改變,然後我必須在模擬陣列中的單元格中重新計算後存儲1000個模擬值。怎麼做 ? – quant1

+0

你如何改變這個單元格?什麼是模擬? – findwindow

回答

1

試試這個:

Sub trythis() 
Dim SimulationArray(1 To 1000) 
Dim i As Integer 
For i = 1 To 1000 

    SimulationArray(i) = Cells(1012, 3).Value 
    Sheets("MC").Range("C:C").Calculate 
Next i 

Sheets("MC").Range("BF1:BF1000").Value = Application.Transpose(SimulationArray) 

End Sub 
+0

我會試試這個。但爲什麼你寫了轉置(模擬陣列)? SimulationArray(i)是否沿列維存儲數據? – quant1

+0

數組是水平的,沒有它,整個列將只填充第一個值。通過轉置,它變成垂直的。 –

+0

我寫了代碼並運行..它說編譯錯誤。 End Sub,End Function或End Property後面只能顯示註釋。 – quant1

相關問題