カンマ区切り文字列の指定カンマ個所を取得する
カンマ区切り文字列の指定カンマ個所を取得する関数です。
例えば”one,two,three”で”2″を指定すると”two”を取得します。
引数① カンマ区切りを含む文字列
引数② カンマ区切りの何番目を取得するか(1~)
戻り値:指定したカンマの場所に文字列
Public Function getCharTargetComma(ByVal Target As String, ByVal commaplace As Long) As String
Dim tempArray() As String
Dim arrayCount As Long
tempArray() = Split(Target, ",")
arrayCount = UBound(tempArray) + 1
'配列の要素数 > 指定カンマ位置の場合または、""で返す
If (commaplace > arrayCount) Or (commaplace < 1) Then
getCharTargetComma = ""
Exit Function
End If
getCharTargetComma = tempArray(commaplace - 1)
End Function
実行結果
' "one,two,three,four,five,six,seven"に対し、カンマ区切り1番目の文字を取得する
Debug.Print getCharTargetComma("one,two,three,four,five,six,seven", 1)
' one
' "one,two,three,four,five,six,seven"に対し、カンマ区切り3番目の文字を取得する
Debug.Print getCharTargetComma("one,two,three,four,five,six,seven", 3)
' three
' "one,two,three,four,five,six,seven"に対し、カンマ区切り5番目の文字を取得する
Debug.Print getCharTargetComma("one,two,three,four,five,six,seven", 5)
' five