경고 : 본 블로그 외에 곳에 게시된 첨부파일로 인한 문제(악성코드 등등)에 관해선 책임지지 않습니다.
반드시 '매크로 실행'을 제외한 상태에서 파일을 여신후, 아래 코드와 동일한지, 기타 의심스러운 코드가 있는지 확인하신후에 매크로를 실행 하여 주시기 바랍니다.
주의 : 엑셀2007 버젼을 기준으로 작성되었습니다.
PC 성능별로 엑셀의 셀 처리 속도를 알아 보기 위해서 간단하게? 만들었습니다.
10초 동안 행과 열을 얼마나 많이 카운팅 하는가 입니다.
For Next 문을 사용하였습니다.
(사실, 속도를 높일려면 배열로 구성하는것이 월등히 좋지만, 절대속도를 구하는게 아니라 PC 성능에 따른 차이를 비교해 보고자 하는데 목적을 두었습니다.)
< 코드 >
<결과>
<설명>
10초간 카운팅 한 셀의 갯수를 10회 연속으로 기록하여 그 평균값을 표시합니다.
엑셀 2007을 기준으로 행의 최대값은 1,048,576 이며 열의 최대값은 16,384(XFD) 입니다.
첫째열의 마지막행까지 기록되면 두째열의 마지막행까지 기록되며 이렇게 순차적으로 기록됩니다.
각 셀에 [행,열]의 포맷으로 표시됩니다.
화면에서 파란색바탕의 셀들이 평균에 사용된 10회 기록들입니다.
첫회를 제외한 이유는 밀리초 계산에 있어서 첫회는 그 정확성을 보장받기 어려워서 입니다.
1초999밀리초 도 1초이며, 1초000밀리초 도 1초이기 때문입니다.
밀리초까지 계산하기 위해서는 윈도우API함수를 사용해야 합니다만, 배제하였습니다.
2회 부터는 1회 기록이 끝난 시간을 기준으로 정확히 10초간격으로 작동합니다.
(시간함수를 숫자(시리얼)로 변경하여 숫자로 계산하였기 때문입니다.)
(밀리초 단위의 컨트롤이 수밀리초의 오차범위안에서 가능합니다.)
-------------------------------------------------------
ps. 코어2 듀오 P8600(2.4GHz) , 램 3GB 인 저의 노트북으로 계산한 값은 위의 스샷과 같습니다.
즉, 1초간 1만줄을 처리할수 있다는 것입니다. 1만줄 이상을 한꺼번에 컨트롤(복사, 삭제, 이동, 수식 드래그) 할 경우에는 1초 이상의 시간이 걸리며, 체감상 버벅이는 느낌을 받을 수 있습니다.
ps2. 코드 구성 및 시트 디자인이 조금 지저분? 합니다. 깔끔하게 사용할 것이 아니라서 대충 하였습니다.ㅋ
셀처리 능력.xlsm