제가 일하는 회사에는 작년에 회사의 구매 내역을 추적하는 Excel 스프레드시트가 있습니다. 이 시트에는 약 1500개의 행과 30개의 열이 있습니다.
며칠 전부터 이 시트의 필터링이 매우 느려지기 시작했습니다. 키워드에 대한 열을 필터링하는 데 약 5초가 걸립니다. 이 시트는 많이 필터링되고 짜증스럽기 때문에 꽤 깁니다. 시트에는 다른 시트나 파일에 대한 수식이나 참조가 없습니다. 셀 변경 시 두 개의 매크로가 실행되고 있지만 두 매크로를 모두 비활성화해도 속도가 더 빨라지지는 않습니다.
또한 한 행을 제외하고 모든 행을 삭제하려고 시도했지만 나머지 행에 필터를 적용하는 데 여전히 5초가 걸립니다.
왜 이것이 그렇게 느려질 수 있는지 아는 사람이 있습니까?
답변1
이는 일반적으로 Excel에서 데이터 집합이 실제보다 훨씬 크다고 생각하기 때문에 발생합니다. 예를 들어, 누군가 A1048576 셀로 이동하여 서식을 지정한 경우 겉보기에는 별 차이가 없더라도 이제 Excel에서는 행이 백만 개가 넘는다고 생각합니다. A1 셀을 선택한 다음 Ctrl + End를 눌러 이를 테스트하세요. 그러면 Excel에서 워크시트의 마지막 셀이라고 생각하는 셀로 이동하게 됩니다. 이것이 문제인 경우 실제 데이터가 끝난 후의 모든 행 및/또는 열을 삭제하고 파일을 저장한 후 닫고 다시 열 수 있습니다. 이렇게 하면 Excel에서 모든 빈 셀을 데이터의 일부로 볼 수 없게 됩니다. 그래도 문제가 해결되지 않으면 데이터를 선택하여 새 파일에 붙여넣으면 문제가 해결됩니다.
답변2
- 모두 선택( Ctrl+ A)
- 홈 -> 편집 -> 지우기 -> 형식 지우기로 이동하세요.
- 파일을 저장하고 필터를 다시 적용하세요.
이제 끝났습니다. 매번 나에게 효과적입니다. 그것이 당신에게 효과가 있는지 알려주세요!
답변3
너무 늦었을 수도 있지만 자동 계산을 끄십시오. VBA에서는 이 두 가지 방법을 사용하여 자동 계산을 끄고 필터를 적용한 다음 자동 계산을 다시 켭니다.
Sub automatic_update_on()
Application.Calculation = xlAutomatic
End Sub
Sub automatic_update_off()
Application.Calculation = xlManual
End Sub
답변4
제 경우에는 모든 댓글을 삭제하는 데 도움이 되었습니다. 항목이 100,000개 이상인 테이블의 경우 필터 시간이 1.5분에서 1초 미만으로 단축되었습니다.