通路番号分解 文字列が半角、全角、混在かを判断する

Quick Edit Pencil
=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 モーグ | 即効テクニック | 文字列が半角、全角、混在かを判断する

このブログの人気の投稿

PowerShellのGetDetailsOf メソッドでプロパティの詳細情報のID番号と項目名を列挙します

書字方向 横書方向変換スクリプト 左書きから右書きへ(コピペ用途)

PowerShellで複数ファイルのプロパティを取得する方法(準備編)

簡単 YouTube動画をダウンロード、音声のみ保存する方法 2019

DOMノードオブジェクトを文字列に変換する

AppleScript 改行 コード 置換

Blender: 辺の長さを数値で指定するアドオン

Powershell: プロパティの詳細情報インデックスと項目名の列挙

VMWare Playerでホストとゲスト間でクリップボードが共有できない時の対処法