2013-09-08 7 views
0

내 바보 같은 질문에 대해 유감스럽게 생각합니다.하지만 너무 단순하기 때문에 이해할 수 없습니다.vba 코드를 중지하는 Sqr 함수 (?!)

엑셀 2010 나는 아래의 코드하려고 할 때 실행을 중지합니다

Sub Delay() 

Dim j As Double 
Dim i As Double 
Dim k As Double 

    For i = 1 To 1000000 
     j = Sqr(i) 
     k = 0 
     Do While k < 1000000 
      j = Sqr(k) 
      k = k + 1 
     Loop 
    Next 

End Sub 

이 하위는 아무것도하지 않습니다를, 단지 시간을 보낸다. 그렇다면 Excel이 응답하지 않는 이유는 무엇입니까?

VBA 정도로 약한 할수 없어. 나는 무엇을 잃고 있는가?

감사합니다.

+1

당신은 그것을 초당 억이 거의 20분에게 조를 – Joe

+0

감사를 취할 것을 할 수있는 경우에도 조 제곱근을 통해 계산을 요구하고, 나는 응답한다 걸릴 시간을 계산하지 않았습니다. 나는 i = 10,000 및 k = 10,000으로 시도했는데, 이는 100 만개의 iteraction을 의미하며, 거의 4 초를 소비했지만 멈추지 않았다. 나는 마이크로 소프트 페이지에서 (오직 하나의 루프로)이 sugestion을 몰아 낸다. – Gera

답변

0

당신이하고있는 일은 반복 횟수가 1,000,000 회에 달하는 루프를 뛰어 넘는 결과를 낳습니다. 당신이 할하려는 것은 아마 가장이 post

+0

해결되었습니다! 고마워요! – Gera