今回は、Excelの以下の表に、
別のシート上に準備した以下のデータを表に追加していきます。
表を作成するコードは以下になります。
Dim ws As Worksheet 'ワークシート1のオブジェクト変数を宣言
Set ws = ThisWorkbook.Sheets(1)
Dim pikachuArray As Variant 'ピカチュウの配列
pikachuArray = [{"CP","HP","重さ","高さ"," 性別";391,64,6.5,0.4,"オス"}]
For i = LBound(pikachuArray, 1) To UBound(pikachuArray, 1) 'wsの1行目の1列目に2次元配列を出力
For j = LBound(pikachuArray, 2) To UBound(pikachuArray, 2)
ws.Cells(i, j).Value = pikachuArray(i, j)
Next j
Next i
Dim ws2 As Worksheet 'ワークシート2のオブジェクト変数を宣言
Set ws2 = ThisWorkbook.Sheets(2)
Dim PikachuArrayAdd As Variant '追記するピカチュウの配列
PikachuArrayAdd = [{260,60,5.5,0.35,"メス"}]
For i = LBound(PikachuArrayAdd, 1) To UBound(PikachuArrayAdd, 1) 'ws2の1行目の1列目に1次元配列を出力
ws2.Cells(1, i).Value = PikachuArrayAdd(i)
Next i
データの追加
- 最終行の取得
- 最終行+1行目にデータを追加
を繰り返すことでデータを追加していきます。
以下のコードをコピペして実行してみましょう。
Dim lastRow As Long, lastCol As Long '最終行をlong型で宣言
lastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row '最終行取得
For i = LBound(PikachuArrayAdd, 1) To UBound(PikachuArrayAdd, 1) 'wsの最終行の下の行に1次元配列を出力
ws.Cells(lastRow + 1, i).Value = PikachuArrayAdd(i)
Next i
以下のように、表に追加されれば成功です。
また、実行を繰り返すと次々とデータが追記されていきます。
最後に
今回は1つのデータを追加していきましたが、複数のデータを一括で追加したり、フォームでユーザーに入力させたデータを追加したりといろいろ使えるので便利です。
特に、Excelの表をデータベースとして使う際に非常に役に立ちます。ぜひ使ってみましょう。
