「word vba 表 最終行に行の追加」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
表の最終行の、上か、下に、行を追加・挿入するWordマクロ・VBA(Visual Basic for Applications)のコードを探している方による検索です。
表の最終行の下に行を挿入するサンプルマクロ
以下のようなマクロで、アクティブな表の最終行の下に、行が1行追加されます。
Selection.Tables(1).Rows.Add
End SubTableオブジェクトのRowsコレクションオブジェクトのAddメソッドを実行すると、
最終行の下に行が追加されます。
表の最終行の上に行を挿入するサンプルマクロ
最終行の上に行を追加する場合は、以下のようなマクロです。
With Selection.Tables(1)
.Rows.Add BeforeRow:=.Rows.Last
End With
表の最終行の下に行を追加するのと同じ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
上記のようなマクロで、アクティブな表の最終行の下に、行が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
先のSelection.InsertRowsBelowメソッドを使ったマクロとほとんど同じですが、使うメソッドがInsertRowsAboveメソッドであるところだけが違います。
Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » 表の最終行に行を追加するWordマクロ
TrackBack:0
- TrackBack URL