Excel – 기준점 기준으로 순서 바꾸거나 그대로 두기

엑셀 개발자 도구에서 Microsoft VBScript Regular Expressions 5.5를 활성화 시킨 후에 비주얼 베이직에서 사용.

나중에 또 짜느니 그냥 갖다가 써야지…

Private Sub splitUpRegexPattern()
    Dim regEx As New RegExp
    Dim strPattern As String
    Dim strInput As String
    Dim strReplace As String
    Dim Myrange As Range

    Set Myrange = ActiveSheet.Range("K1:K43452")

    For Each C In Myrange
        strPattern = "(^[0-9]{3}mm)(:)([A-Za-z 가-힣ㄱ-ㅎㅏ-ㅣ]*)"

        If strPattern <> "" Then
            strInput = C.Value
            strReplace = "$1"

            With regEx
                .Global = True
                .MultiLine = True
                .IgnoreCase = False
                .Pattern = strPattern
            End With

            If regEx.Test(strInput) Then
                C.Offset(0, 1) = regEx.Replace(strInput, "$3:$1")
            Else
                C.Offset(0, 1) = C.Value
            End If
        End If
    Next
End Sub

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다