[엑셀/VBA] “SpecialCells”가 셀을 선택하지 못 하는 오류 feat. MS 오피스 2021

folder 프로그래밍 calendar_month web_traffic 0

엑셀에서 VBA로 데이터를 핸들링 하면서 아래와 같은 상황이 있었습니다.

일단 엑셀 시트는 구성이 아래와 같습니다.

Constant는 셀에 직접 값이 입력된 셀이고, Formular는 함수가 입력 된 셀, Value는 함수가 입력된 셀의 결과 값들이 A3 셀의 범위를 넘어서 입력된 경우입니다.

기존에는 VBA 에서 아래와 같은 코드로 데이터 범위를 설정해서 작업을 했었는데요.

Dim rng As Range
Dim cnt As Double
Set rng = Columns(1).SpecialCells(xlCellTypeConstans + xlCellTypeFomulas)

최근 MS 오피스를 2021 버전으로 업데이트해서 그런지 실제 SpecialCells 가 인식하는 범위가 A 열에서 세로로 Constant 셀 2개와 Formula 셀 1개, 총 3개만 인식이 되었습니다.

아마 Value 셀 들은 값이나 함수가 들어가 있지 않아서 그런것 같은데, 과거에는 Value 셀 들까지 총 8개를 잘 인식하다가 갑자기 안되니까 굉장히 당황스럽네요.

일단 이 오류를 해결하는게 좀 어려워서 아래와 같이 For 문을 이용하기로 했습니다.

Dim i As Double 
For i = 1 To 1000
    If Cells(1,i) = "" Then Exit For
    (실행할 코드)
Next i

데이터가 들어갈 범위 보다 넉넉하게 For 문을 실행하되, 해당 셀에 값이 없으면 For 문을 종료하도록 한 것이죠.

비슷한 방식으로 데이터를 핸들링 하시는 분들은 SpecialCells를 사용하고 있지 않은지 꼭 체크해보시는게 좋을 것 같습니다.

끝.

댓글 남기기