【VBA】文字列分割

 #VBA 
'文字列分割
Function SplitString( _
                     ByRef 対象文字列 As String _
                   , ByRef 区切り文字列 As String _
                   , Optional ByRef 取得位置 As Integer = 1 _
                   ) As Variant
   
   Dim var As Variant
   var = Split(対象文字列, 区切り文字列)
   SplitString = var(IIf(取得位置 < 0, UBound(var) + 1 + 取得位置, 取得位置 - 1))

End Function
 #VBA 
'ユーザ定義関数の説明登録
Sub AddUDFToCustomCategory()
   
   'オプションの設定方法は下記参照
   '   https://docs.microsoft.com/ja-jp/office/vba/api/excel.application.macrooptions
   
   Application.MacroOptions _
         Macro:="SplitString" _
       , Description:="「対象文字列」を「区切り文字列」で分割します。" _
       , Category:=7 _
       , ArgumentDescriptions:=Array( _
                                     "分割したい文字列を指定します" _
                                   , "分割する文字列を指定します" _
                                   , "取得したい文字列の位置を整数で指定します" _
                                   & vbCrLf & "1以上:左からの順番" _
                                   & vbCrLf & "-1以下:右からの順番" _
                               )

End Sub

この記事が気に入ったらサポートをしてみませんか?