이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.
저번에 질문하고 1차로 해결되어서 무척 즐겁게 작업을 할 수 있었는데...
또다른 질문거리가 생겨서 죄송합니다.
첨부 파일의 "11"sheet 의 <통계처리/click> 버튼을 누르면
"누가기록"sheet의 내용을 통계처리하게 되어있는데
이것을 저는 다음과 같이 배열식을 사용해서 문장을 작성했습니다.
Selection.FormulaArray = "=SUM((기록_학번=RC2)*(기록_장학금종류=R7C)*(기록_장학금))"
Selection.AutoFill Destination:=Range("H9:AQ9"), Type:=xlFillValues
Range("H9:AQ9").Select
Selection.AutoFill Destination:=Range("H9:AQ48"), Type:=xlFillValues
Range("H9:AQ48").Select
Selection.Copy
Range("H9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("H9").Select
그런데 실행시켜 보면 잘 아시겠지만 처리하는데 시간이 무척 오래 걸립니다.
데이터가 몇 개 안되는데도 이렇게 시간이 걸리면 프로그래머로서의 자격이 없는것 같은데...
제가 VBA는 아직 초보라 달리 좋은 방법을 생각할 수 없습니다.
고수님들의 고견을 듣고 싶습니다.
배열 수식에 사용한 영역 이름이 무궁무진해서 처리속도가 무쟈게 오래 걸린겁니다.
1 by 65533 의 테이블을 3개나 배열 수식으로 물려놓았으니.. 컴퓨터가 해야할 연산수는? ㅎㄷㄷ
아래와 같이 수정해주시면 처리속도가 빨라집니다.
첨부파일을 참고하세요..
다운받기 : abyul_20090707_JangHak_v15.zip
수고하세요.. ^^
이름
참조대상_최초
참조대상_수정