=IF(LEN(ASC(D3))=LENB(ASC(D3)),ASC(D3),文字列から英数字以外を削除する(D3))
'カスタム関数 通路番号を分解する
'=IF(LEN(ASC(D3))=LENB(ASC(D3)),ASC(D3),文字列から英数字以外を削除する(D3))
'=IF(LEN(ASC(C3))=LENB(ASC(C3)),ASC(C3),IF(LEN(ASC(C3))*2=LENB(ASC(C3)),ASC(C3),文字列から英数字以外を削除する(C3)))
Function 通路番号分解(通路番号情報 As String) As String
Dim strANSI As String
Dim myLen As Integer
Dim myLenB As Integer
Dim strUnicode As String
strUnicode = 通路番号情報
strANSI = StrConv(strUnicode, vbFromUnicode)
myLen = Len(strUnicode)
myLenB = LenB(strANSI)
If myLen * 2 = myLenB Then
Debug.Print "全角文字だけです"
通路番号分解 = Application.WorksheetFunction.JIS(通路番号情報)
ElseIf myLen = myLenB Then
Debug.Print "半角文字だけです"
通路番号分解 = Application.WorksheetFunction.Asc(通路番号情報)
Else
Debug.Print "全角と半角が混じっています"
通路番号分解 = 文字列から英数字以外を削除する(通路番号情報)
End If
End Function
'カスタム関数 文字列から英数字以外を削除する(セル) 文字列から英数字以外を削除する
Function 文字列から英数字以外を削除する(文字列 As String) As String
Dim 戻り値 As String
Dim キャラクタ As String
Dim Likeパターン As String
Dim インクリメント As Integer
Likeパターン = "[A-Z.a-z 0-9]"
戻り値 = ""
For インクリメント = 1 To Len(文字列)
キャラクタ = Mid(文字列, インクリメント, 1)
If キャラクタ Like Likeパターン Then
戻り値 = 戻り値 & キャラクタ
End If
Next
文字列から英数字以外を削除する = 戻り値
End Function
Excel VBA を学ぶなら moug モーグ | 即効テクニック | 文字列が半角、全角、混在かを判断する