2014-11-01 9 views
0

의 조건부 삭제 부분은 내가하지 정말이 하나 달리 구조에서 통합 문서를 (하지만 훨씬 더 고급) :엑셀 VBA : 워크 시트

https://www.youtube.com/watch?v=UeGncSFijUM

즉 :

(1) 워크 시트 여기서 한 행은 rand()와 관련된 계산을 수행하고 결과 값은 유사한 계산이 수행 된 다음 행으로 넘겨지고 최종 결과는 최대 250 행 이후에 발생합니다.

(2)는 엑셀이 250 산출 20000 여러 번 반복

(3)과 독립적 20000 개 결과에 약간의 계산을한다.

많은 기능을 통해 수행되며 대부분 VBA를 사용하여 계산 흐름을 제어합니다.

이 모든 작업에는 다소 시간이 걸리고 단계별로 최적화하려고합니다.

이제 각각의 (1) 결과는 평균 행 125에서 행 250보다 훨씬 앞설 것 같습니다. 행 125에서 조건이 충족되면 나머지 계산을 지우고 싶습니다. 나머지 셀의 내용을 지우는 if 문을 통해 VBA 스크립트를 호출하십시오.

함수에서 VBA 문을 호출 할 수 있습니까?

+0

워크 시트에서 매크로를 호출 할 수는 없지만 UDF 기능을 호출 할 수는 있습니다. 그러나 UDF는 셀을 호출하는 셀을 제외한 모든 셀을 변경할 수 없습니다. 일종의 공용 부울 변수가 루핑 VBA 연산을 중단시키고 UDf *가 그 상태를 바꿀 수 있다고 가정합니다. – Jeeped

답변

0

여기 상자 밖에서 내 최선의 시도입니다.

수식의 결과 값을 확인하는 worksheet_change 이벤트에 Call Methodname 또는 CallByName(wsWorksheet, sMethodname, VbMethod, vOptionalVariantToPass)을 사용할 수 있습니까?