今回は配列をセルに上手く格納できない原因と対処法を備忘録も兼ねて紹介したいと思います。
原因
原因として、1次元配列である可能性があります。
例えば以下のような1次元配列をA1~3セルに格納するとします。
Sub test_arr()
Dim ary_Fruit() As String
ReDim ary_Fruit(1 To 3)
ary_Fruit(1) = "リンゴ"
ary_Fruit(2) = "ミカン"
ary_Fruit(3) = "イチゴ"
Range("A1:A3") = ary_Fruit
End Sub
これを実行するとA1~3セルに配列の中身が入るのですが、A2,3セルにも「リンゴ」が入ってしまいます(「ミカン」と「イチゴ」が入らない)。
対処法
これを解決するには1次元配列を2次元配列にしてあげればOKです。
Sub test_arr()
Dim ary_Fruit() As String
'1次元配列→2次元配列に変更
ReDim ary_Fruit(1 To 3, 1 To 1)
ary_Fruit(1, 1) = "リンゴ"
ary_Fruit(2, 1) = "ミカン"
ary_Fruit(3, 1) = "イチゴ"
Range("A1:A3") = ary_Fruit
End Sub
実行するとA1~3セルにそれぞれリンゴ・ミカン・イチゴが入ります。
まとめ
今回は配列をセルに上手く格納できない原因と対処法を紹介しました。
配列の中身がセルに入らない時は1次元配列の状態で格納しようとしていないか確認するようにしましょう!
このブログではVBAに関する記事を不定期で投稿していますので、是非ご覧ください!
コメント