ExcelVBA에서 외부 문자 처리
개요
Excel의 문자 코드는 유니 코드이지만 VBA의 문자 코드는 Shift_Jis입니다.
그래서 외자의 판정을 어떻게 할까라는 문제가 생깁니다.
나는 WorksheetFunction.Unichar와 WorksheetFunction.Unicode를 사용하여 코드 번호로 외자를 다루고 있습니다.
사용하려는 외자 문자 코드 확인
vba에 다음 서브프로시저를 작성하십시오.
vbaSub 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
Reference
이 문제에 관하여(ExcelVBA에서 외부 문자 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/harryyuni/items/38e9b6217a79d7402bd5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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
Reference
이 문제에 관하여(ExcelVBA에서 외부 문자 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/harryyuni/items/38e9b6217a79d7402bd5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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
Reference
이 문제에 관하여(ExcelVBA에서 외부 문자 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/harryyuni/items/38e9b6217a79d7402bd5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)