현재 재고 투자 수익을 계산 중입니다. 나는 약 10 년 동안의 역사적인 데이터를 가지고 있으며, 나의 기능을 구축 한 방법은 그 일을 오래 수행하는데 시간이 걸린다. 예를 들어 각 날의 수익을 계산하기 위해 11 개의 열과 2872 개의 행이 있습니다.Excel VBA에서 계산 속도가 느립니다.
my Function
Public Sub CalcROI(ByVal ColPick As Integer, ByVal ColPrint As Integer)
Dim irow As Integer
Dim iCol As Integer
For irow = 4 To 2873
'Calculating ROI
Cells(irow + 1, ColPrint).Value = (Cells(irow + 1, ColPick).Value - Cells(irow, ColPick).Value)/Cells(irow, ColPick).Value
Next irow
End Sub
및 절차의 구현은
CalcROI ColPick:=4, ColPrint:=17
ColPick입니다 - 가치 계산에
ColPrint을 선택해야하는 곳에서 - 그 필요가 출력
질문에 질문이 없습니다! 속도를 높이고 싶다고 생각합니다. 계산에서 +1을 꺼내고 For 매개 변수를 5에서 2784로 변경하지만 수식을 스프레드 시트에 넣지 않는 이유는 무엇입니까? – grahamj42
나는 VBA 메뉴 구동 프로그램을 사용하여 동적으로 작업을 수행하기 때문에 ... 기본적으로 가치가있는 위험을 계산하고 있습니다 - 과거의 방법과 그 정보가 블룸버그 터미널에서 나오고 있습니다 ... 위는 VaR caclulation –
처음에'Application.Screenupdating = false'를 추가하여 현재 코드를 크게 향상시킬 수 있습니다. – enderland