ExcelVBA에서 외부 문자 처리

개요



Excel의 문자 코드는 유니 코드이지만 VBA의 문자 코드는 Shift_Jis입니다.
그래서 외자의 판정을 어떻게 할까라는 문제가 생깁니다.
나는 WorksheetFunction.Unichar와 WorksheetFunction.Unicode를 사용하여 코드 번호로 외자를 다루고 있습니다.

사용하려는 외자 문자 코드 확인



vba에 다음 서브프로시저를 작성하십시오.

vba
Sub printUnicode()
    Debug.Print WorksheetFunction.Unicode(ActiveCell)
End Sub

그리고, 임의의 셀에 외자 1 문자를 입력하면, 방금전의 매크로를 움직입니다.



"이미디에이트 윈도우"가 표시되어 있지 않은 경우는 「표시」 「이미디에이트 윈도우」를 선택합니다.
여기에 입력된 숫자가 그 외자의 문자 코드 번호입니다.

문자 코드에서 외부 문자 처리



 문자 코드를 알면 외자를 WorksheetFunction.Unichar(문자 코드 번호)로 취급할 수 있게 됩니다.

이것으로 입력도 가능합니다.

외자 입력
Sub inputUnicode()
    Cells(1, 2) = WorksheetFunction.Unichar(10102)
End Sub



문자 판정도 할 수 있습니다.

외자 판정
Sub checkUnicode()
    Dim blackCircle1 As String
    blackCircle1 = WorksheetFunction.Unichar(10102)
        Dim i As Integer
        For i = 1 To 3
            If InStr(Cells(i, 1), blackCircle1) > 0 Then
                Cells(i, 2) = True
            Else
                Cells(i, 2) = False
            End If
         Next i
End Sub

좋은 웹페이지 즐겨찾기