配列で値代入時「型が一致しません」が出た場合
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して型変換させるしかありません。
コメント