【Excel VBA】配列をセルに上手く格納できない原因と対処法【備忘録】

Excel
スポンサーリンク

今回は配列をセルに上手く格納できない原因と対処法を備忘録も兼ねて紹介したいと思います。

スポンサーリンク

原因

原因として、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
スポンサーリンク

対処法

これを解決するには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
スポンサーリンク

まとめ

今回は配列をセルに上手く格納できない原因と対処法を紹介しました。

配列の中身がセルに入らない時は1次元配列の状態で格納しようとしていないか確認するようにしましょう!

このブログではVBAに関する記事を不定期で投稿していますので、是非ご覧ください!

コメント

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