2016-06-27 1 views
0

나는 매크로를 실행하여 시간이 지남에 따라 수정했으며 현재까지 성능에 문제가 없었습니다. 나는 아무것도 변경하지 않았지만 지금은 그것을 통해 실행을 일시 중지합니다. 볼드 약 5-10 초.Excel 2007의 VBA 변형 서식 지정 글꼴

이이 Selection.Font 명령으로 첫 번째에 붙어 얻을 것이다 내 코드

Application.ScreenUpdating = False 
Application.EnableEvents = False 
Cells.Select 
With Selection.Interior 
    .Pattern = xlNone 
    .TintAndShade = 0 
    .PatternTintAndShade = 0 
End With 
With Selection.Font 
    .Bold = False 
    .Italic = False 
    .Underline = xlUnderlineStyleNone 

의 첫 번째 부분입니다 - 나는 .bold를을 주석 시도 그들

의하지만 그때는. Italic은 똑같은 작업을했습니다.

문제는 제가 단계별로 진행할 때 빠르게 변화합니다. 처음으로 .old를 변경하려고 시도한 후 약 5-10 초 동안 기다렸다가 다음 줄로갑니다. 내가 .old로 주석 처리하면 .Italic은 다음 줄로 이동하기 전에 5 ~ 10 초 기다린다. 하지만 코드를 한 번 실행 한 후에 다시 돌아가서 같은 줄을 실행하면 정상적인 빠른 속도로 실행됩니다.

왜 이런 일이 일어날 지 알고 있습니까?

+3

'Cells' 스프레드 시트에있는 모든 셀을 선택하고, 서식을 VBA 어쨌든 수행 할 수있는 가장 느린 작업 중 하나입니다. 조만간이 문제에 봉착 할 것입니다. 전체 워크 시트에 서식을 적용하는 것이 아니라 채워지거나 원하는 셀에만 서식을 적용하도록 범위를 정의하십시오. – tigeravatar

+0

내용이 포함 된 셀 그룹을 자동 선택하는 방법이 있습니까? 또는 코드 작성이 어렵습니까? –

+0

@tigeravatar에 동의합니다. 또한 Excel의 시트가 커짐에 따라 속도가 느려지고 있음을 알 수 있습니다. 이전에는 65536 행과 256 열 = 1670 만 개의 셀을 포맷했습니다. 이제 1,048,576 개의 행과 16,384 개의 행 = 172 억 개의 셀을 한꺼번에 포맷합니다! – Ralph

답변

0

내 기본 프린터로 문제가 발생했습니다. 내가 원하는 것 이상을 설명 할 수있는 웹 사이트를 찾았습니다. 내 기본 프린터를 기본 "Microsoft XPS 문서 작성자"로 변경하고 모든 것이 정상적으로 작동합니다. 2003 년을 능가하지만 2007 년이 있습니다. 저에게 도움이됩니다. 버전이 없어도 작동하는지 잘 모르지만 이미이 문제를 해결했습니다.

링크 : BOLD font slows VBA performance in Excel 2003