Office Tutorials/Excel

[EXCEL VBA] Split를 이용한 문자열 구분자로 나누기, 사용자정의 함수(function) [펌]

Total Fix! 2013. 10. 23. 00:02

VBA 모듈에 아래 내용을 추기한다.


Function sPltVal(nowval As String, dVal As String, dLocat As Integer) As Variant
' -----------------------------------------
' 셀값을 입력한문자로나눠서 선택한 위치의 값을 가져온다.
' nowval  : 대상 CELL
' dVal    : 대상을 나눌 기준 문자열
' dLocat  : 가져올 위치 : defualt : 1
' 작성일 : 2009.09.04
' 작성자 : 김정훈 (tuckun)
' -----------------------------------------
Dim lenVal    '현재셀의길이
Dim dTd       As Variant
Dim dSlt      As Variant        ' 대상을 나눈값을 각각 담을 변수
Dim lastIdx   As Integer        ' 대상의 마지막 번호
Dim tmPlVal   As String
Dim i
    '예외처리부
    If Len(dVal) < 1 Then
        sPltVal = "대상을 나눌 구분자를 입력하세요"
    End If
    dTd = Split(nowval, dVal)
    For i = 0 To UBound(dTd)
        lastIdx = UBound(dTd)
        If dLocat = 99 Then
            If i = lastIdx Then
                tmPlVal = dTd(i)
                GoTo eXitFor
            End If
        ElseIf i = dLocat Then
            tmPlVal = dTd(i)
            GoTo eXitFor
        End If
    Next i
eXitFor:
    If UBound(dTd) = 0 Then
        tmPlVal = nowval
    End If
    sPltVal = tmPlVal
End Function

 

사용법은 수식 - 사용자 정의 에 함수가 추가 되어 있다. 사용법은 간단하다.

참고 : Alt + ENTER = char(10)

 

원작자 블로그를 방문하면 자세한 사용법을 확인 할 수 있다.

원작자 블로그 : http://blog.naver.com/PostView.nhn?blogId=tuckun&logNo=50070799603