「word vba 表 最終行に行の追加」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
表の最終行の、上か、下に、行を追加・挿入するWordマクロ・VBA(Visual Basic for Applications)のコードを探している方による検索です。
表の最終行の下に行を挿入するサンプル
以下のようなマクロで、アクティブな表の最終行の下に、行が1行追加されます。
Selection.Tables(1).Rows.Add
End Sub
TableオブジェクトのRowsコレクションオブジェクトのAddメソッドを実行すると、
最終行の下に行が追加されます。
表の最終行の上に行を挿入するサンプル
最終行の上に行を追加する場合は、以下のようなマクロです。
With Selection.Tables(1)
.Rows.Add BeforeRow:=.Rows.Last
End With
End Sub
表の最終行の下に行を追加するのと同じRows.Addメソッドですが、引数・BeforeRowを指定すると、その指定された行の上に行を挿入できます。
ここでは最終行の前に挿入したいので、Rows.Addメソッドの引数にSelection.Table(1).Rows.Lastを指定しています。
RowsコレクションオブジェクトのLastプロパティで表の最終行を表すRowオブジェクトを取得できるところも、
ポイントでしょうか。
Selectionを使って表の最終行の下に行を挿入するサンプル
上記の2つのマクロは、Rowsコレクションオブジェクトを操作するものですが、Selectionオブジェクトを使っても、表の最終行の上や下に行を追加することができます。
マクロ記録機能を使った場合は、Selectionオブジェクトを使ったコードが作られます。
Selection.Tables(1).Rows.Last.Select
Selection.InsertRowsBelow
End Sub
上記のようなマクロで、アクティブな表の最終行の下に、行が1行追加されます。
RowsコレクションオブジェクトのLastプロパティで返される、アクティブな表の最終行を表すRowオブジェクトをSelectメソッドで選択しておいてから、
Selection.Tables(1).Rows.Last.Select
SelectionオブジェクトのInsertRowsBelowメソッドを実行しています。
Selection.InsertRowsBelow
Selection.InsertRowsBelowでは引数に数値を指定することで、複数の行をまとめて追加することもできます。
Selectionを使って表の最終行の上に行を挿入するサンプル
以下のようなマクロにすると、アクティブな表の最終行の上に、行が1行追加されます。
Selection.Tables(1).Rows.Last.Select
Selection.InsertRowsAbove
End Sub
先のSelection.InsertRowsBelowメソッドを使ったマクロとほとんど同じですが、使うメソッドがInsertRowsAboveメソッドであるところだけが違います。
最終更新日時:2021-07-16 16:25
Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » Word VBAで表の最終行に行を追加する