[자작VBA함수] VBA 열선택을 돕는 함수 : selectCol

[자작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