【EXCEL VBA | ListRows.Add】テーブルに新しい行(データ)を追加する

スポンサーリンク

テーブルに新しい行(データ)を追加する

テーブル形式のリストにデータを追加する方法を紹介します!

テーブル

テーブルってこんなやつです。

ワークシート上にある表の中に、アクティブセルを置き、「挿入タブ>テーブル」で作れますね。

この”テーブル”ですが、VBAで言うとテーブルにした時点で、”ListObject(リストオブジェクト)”というオブジェクトが作られます。

テーブルに空行を追加する

ListObject(リストオブジェクト)の行データは、ListRowオブジェクトになりますが、そのListRowオブジェクト全体を管理するListRowsコレクションのAddメソッドを使うことで、テーブルの行を追加することが出来ます(^o^)

構文

ListObject.ListRows.Add

では、実際に挙動を確認してみましょう!

次のコードをご覧ください。

Sub sample()

    'テーブルを変数に格納する
    Dim テーブル As ListObject
    Set テーブル = ActiveSheet.ListObjects(1)
    
    '捕まえたテーブルのListRowsコレクションに対してAddメソッドを実行
    テーブル.ListRows.Add
    
End Sub

まずは、シート上のテーブルを変数に格納しています。

そして、その捕まえたテーブル(ListObject)のListRowsコレクションに対して、Addメソッドを実行する。

簡単ですね(^o^)

では、実行してみましょう!

テーブルに空の行が追加されていくのが分かりますね(^o^)

実行結果はこちらです。

5回実行したので、5行増えていますね。

追加した行にデータを入力する

実務では、空行を追加するだけではなく、追加した行にデータを入力することがほとんどだと思います。

挿入した空行にデータを追加するには、追加した行を変数に格納して操作するのが便利です。

次のコードをご覧ください。

Sub sample()

    'テーブルを変数に格納する
    Dim テーブル As ListObject
    Set テーブル = ActiveSheet.ListObjects(1)
    
    '捕まえたテーブルのListRowsコレクションに対してAddメソッドを実行
    '追加した空行を変数に格納する
    Dim 追加した行 As ListRow
    Set 追加した行 = テーブル.ListRows.Add
    
    
    '追加した行にデータを入力する
    With 追加した行
        
        .Range(1).Value = "ひらちん"
        .Range(2).Value = "ヒラチン"
        .Range(3).Value = "男"
        .Range(4).Value = "40"
        .Range(5) = "1980/1/1"
        .Range(6) = "未婚"
        .Range(7) = "A型"
        .Range(8) = "兵庫県"
    
    End With
    
End Sub

追加した空行はListRowオブジェクトですが、追加したと同時に、”追加した行”という変数(ListRow型)に格納し、

その後、変数”追加した行”に対してデータを入力しています。

ListRowオブジェクトの中のセルは”Rangeオブジェクト”で表されます。

一番左の列から、1番、2番、、、と番号がついているので、挿入したいデータと番号を合わせて指定しRangeオブジェクトのValueプロパティに設定します。

Valueプロパティは省略しても大丈夫なので、ここではわざと途中から省略しています。

では実行してみましょう!

一番下の行に、データが追加出来ました(^o^)

テーブルを上手く使うことで、VBAでの処理も簡単に出来ることがたくさんあります!

【EXCEL VBA | ListColumns.Add】テーブルに新しい列(データ)を追加する

もくじ テーブルに新しい列(データ)を追加するテーブルに新しい列を追加する追加した列に列名を付ける追加した列にデータを入れる テーブルに新しい列(データ)を追加する テーブル形式のリストにデータを追加する方法を紹介します続きを読む


スポンサーリンク

スポンサーリンク


シェアする

フォローする


スポンサーリンク