エクセルバージョン
マイクロソフト365
本日はエクセルVBAで配列の追加方法を解説していきたいと思います。
それではいってみましょう!
Menu
末尾に追加
定数ConstのADDVAL値のイクラ丼を配列の末尾に追加する例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Sub 末尾に追加() Const ADDVAL As String = "いくら丼" '追加する値 Dim ary() As Variant Dim i As Integer '①配列作成 ary = Array("牛丼", "豚丼", "かつ丼", "まぐろ丼", "鉄火丼") '②配列末尾に配列を一つ増やす ReDim Preserve ary(UBound(ary) + 1) '③末尾の値を変更 ary(UBound(ary)) = ADDVAL End Sub |
【解説】
➀配列を作成します。
②ReDim Preserveキーワードで配列を再定義して配列数と値をキープして、空の配列を1つ増やします。
③UBoundで最大インデックス(末尾)に定数のイクラ丼を挿入して完成です。
指定位置に追加
定数Constの値のいくら丼を、インデックスの2番目の位置に追加する例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Sub 指定位置に追加() Const ADD As Integer = 2 '追加位置(インデックス) Const ADDVAL As String = "いくら丼" '追加する値 Dim ary() As Variant Dim i As Integer '➀配列作成 ary = Array("牛丼", "豚丼", "かつ丼", "まぐろ丼", "鉄火丼") '➁配列を一つ増やす ReDim Preserve ary(UBound(ary) + 1) '➂配列末尾から追加位置まで順番に置換 For i = UBound(ary) To ADD + 1 Step -1 ary(i) = ary(i - 1) Next '➃指定位置を置換 ary(ADD) = ADDVAL End Sub |
【解説】
➀配列を作成します。
➁ReDim Preserveキーワードで配列を再定義して配列数と値をキープして、空の配列を1つ増やします。
➂For~Next Step -1で配列の末尾から追加位置まで一つ前の要素で置換していきます。
ary(5)のEmptyをary(4)の鉄火丼で置換します。
ary(4)の鉄火丼をary(3)のまぐろ丼で置換します。
ary(3)のまぐろ丼ををary(2)のかつ丼で置換します。
➃あとはary(2)のかつ丼を、定数Constのイクラ丼に置換して完成します\(^^)/
先頭に追加
1つ前で解説した指定位置に追加の定数ConstのADDの値を0にすれば先頭に追加できます。
1 | Const ADD As Integer = 0 '追加位置(インデックス) |
デバッグ方法 → 変数の中身の確認方法(ウォッチとブレイクポイント)
まとめ
VBAの追加処理は他の言語に比べて難しいような感じがします。
PHPやJavaScriptなら1文で簡単に追加できます。
以上です。