配列(一次元/二次元)

配列で値代入時「型が一致しません」が出た場合(Split/Array関数)【ExcelVBA】

配列で値代入時「型が一致しません」が出た場合

Split関数Array関数で配列を作成する場合、実行時エラー「型が一致しません」が発生する場合があります。
その場合はVariant型以外のデータ型を指定しているはずです。

Split関数Array関数は戻り値はVariant型ですので注意しましょう。

「型が一致しません」が発生するコードと対処方法

'■Split関数でのエラーの場合
Public Sub sample()
    Dim arr As String
    
    arr = Split("1,2,3,4,5", ",")
    
    'Dim arr As Stringを    Dim arr As Variantでエラー回避可能
End Sub
'■Array関数でのエラーの場合
Public Sub sample2()
    Dim arr As String
    
    arr = Array("あ", "い", "う", "え", "お")

    'Dim arr As Stringを    Dim arr As Variantでエラー回避可能
End Sub


その他

  • 本エラーはSplit関数Array関数は戻り値はVariant型を理解すれば問題ないでしょう。
  • CStr関数などを使用して、代入時に型変換は出来ません。
  • どうしてもVariant型以外に格納する場合は、再度Loopして型変換させるしかありません。

関連記事

コメント

タイトルとURLをコピーしました