[자작VBA함수] VBA 열선택을 돕는 함수 : selectCol
‘사용 예)
‘첫번째 시트의 H11 셀부터 한 줄씩 내려가면서, 값이 존재하는 마지막 셀까지 영역 선택하기
‘만약 H3000 까지 값이 들어있다면, H11부터 H3000 까지 영역 선택
call selectCol(1, “H11”)
‘//////////////////////////////////////////////////
‘selectCol 함수 : 시트 넘버, 시작할 셀 주소를 넘기면, 시작 셀부터 한 줄씩 내려가면서, 값이 존재하는 마지막 셀까지 영역 선택한다.
Function selectCol(sheetNum, beginCellAddr)
Dim tempRow
Dim tempCol
Dim endCellAddr
Dim emptyCount
Dim loopCount
‘sheetNum 번째 시트 활성화
Sheets(sheetNum).Activate
‘초기값 지정
‘ex) beginCellAddr == “H11”
tempRow = Range(beginCellAddr).Row
tempCol = Range(beginCellAddr).Column
endCellAddr = Range(beginCellAddr).Address
‘beginCellAddr 셀부터 한 줄씩 내려가면서 끝을 검사
Do
‘빈칸인지 검사
If Cells(tempRow, tempCol).Value = “” Then
emptyCount = emptyCount + 1
Else
emptyCount = 0
endCellAddr = Cells(tempRow, tempCol).Address
End If
‘빈칸이 10번 이상 반복되면 종료되었다고 판단. 빠져나간다.
If emptyCount > 10 Then
Exit Do
End If
loopCount = loopCount + 1
If loopCount > 900000 Then
MsgBox (“무한루프 상태입니다. 함수를 중지하고 빠져나갑니다.”)
Exit Do
End If
‘다음 로우를 체크
tempRow = tempRow + 1
Loop
‘beginCellAddr 셀부터 endCellAddr 셀까지 영역 선택한다.
MsgBox (“[” & beginCellAddr & “:” & endCellAddr & “] 영역 선택한다.”)
Range(beginCellAddr, endCellAddr).Select
End Function