2017-10-23 6 views
0

목표 : 셀 값을 허용 할 수없는 경우 셀을 다른 색상으로 강조 표시하는 유효성 검사 기능을 수행하기 전에 모든 셀의 배경색을 모두 제거해야합니다.Exce VBA Interior.ColorIndex 증가 파일 크기

문제 : 아래의 라인이 실행 된 후에는

Range("A1:BS65535").Interior.ColorIndex = xlColorIndexNone 

많은 빈 셀이 Excel 파일에 생성 된 해당 파일이 수백 이하에서 약 12메가바이트가 될 것으로 보인다. 나는 Excel 2016을 사용하고 있으며 위에 나열된 라인을 트리거하는 버튼으로 새로운 Excel을 만들었습니다.

그러나 저는 다른 오래된 엑셀 파일 (2007/2010 년까지 오래 전에 만들었습니다)을 가지고 있습니다. Excel VBA에는 위에서 언급 한 것과 정확히 동일한 행이 있습니다. 그리고 그 행을 실행 한 후 Excel이 저장되면 Excel이 모든 빈 셀을 자동으로 제거하고 파일 크기에 큰 변화가없는 것으로 보입니다.

내 Excel 파일을 준비 할 때 놓친 설정이 있습니까?

답변

0

대신 사용 된 범위에 적용 해보십시오. 이렇게하면 파일 크기가 커지는 사용 범위가 확장되지 않습니다.

ActiveSheet.Range("A2",Cells.SpecialCells(xlCellTypeLastCell)).Interior.ColorIndex = xlColorIndexNone 

이렇게하면 첫 번째 행은 제외되지만 "마지막 셀"을 찾는 경우 사용법에 따라 문제가 발생할 수 있습니다. 이 경우, 나는 그것이 잘되어야한다고 생각합니다.

+0

감사합니다. Michael. 이 범위를 "A2 : BS65535"범위에 적용하려면 어떻게해야합니까? 예를 들어 행 1의 배경을 재설정하지 않고 보관하려고합니다. – user3613105

+0

대신 A2에서 마지막으로 사용한 셀로 이동하는 솔루션을 업데이트했습니다. – Michael

+0

마이클에게 감사드립니다. 이것은 나의 문제를 해결했다! – user3613105