엑셀 파일의 용량이 커지는 이유는 많겠지만, USEDRANGE가 잘못 설정되는 경우가 많다. 한마디로 말하면, CTRL이나 SHIFT 단축키 치다가 실수로 10만번째 행이 사용중인 영역으로 인식되는 경우라 하겠다.
서너개의 시트로 구성된 파일이라면, 일일이 CTRL+END키로 USEDRANGE를 체크하면 되겠지만, 워크시트가 스무개가 넘어가면, 그 또한 일이다.
과거 USEDRANGE의 마지막 셀주소를 찾는 글을 쓴 적이 있는데, 아주 약간만 변형해서, 사용해 본다.
왼쪽부터 SHEET INDEX, 마지막 셀의 ROW(행), COLUMN(열), SHEETNAME 순서로 나온다.
귀찮아서, HEAD는 안붙였다.
아래 예시에서 보면, Sheet1번의 마지막 행이 이상하다는 걸 알수 있다.
물론, 용량이 커지는 이유가 이것 때문이라고 할수는 없지만, 가능성은 열어두자.
Sub LastCellNumBySheet()
Dim sht As Worksheet
Dim LastRow As Integer
Dim LastColumn As Integer
For x = 1 To Worksheets.Count
Set sht = ThisWorkbook.Worksheets(x)
Cells(x + 1, 4) = x
Cells(x + 1, 5) = sht.UsedRange.Rows(sht.UsedRange.Rows.Count).Row
Cells(x + 1, 6) = sht.UsedRange.Columns(sht.UsedRange.Columns.Count).Column
Cells(x + 1, 7) = sht.Name
Next x
End Sub