「word vba cell下」
という検索でアクセスがありました。
何を探していらしたのか判断に迷う検索キーワードですが、1つ下のセルを選択するSubプロシージャを作ってみました。
1つ下のセルを選択するサンプル
アクティブ文書の表内にカーソルを置いて、以下のSubプロシージャを実行してみてください。
With Selection
If Not .Information(wdWithInTable) Then Exit Sub
Dim r As Long, c As Long
With .Cells(1)
r = .RowIndex
c = .ColumnIndex
End With
.Tables(1).Cell(r + 1, c).Select
End WithEnd Sub
1つ下のセルを選択するサンプルで行っている処理
Excel VBAならば、Rangeオブジェクトに用意されているOffsetプロパティを使うのですが、Word VBAの表にはそういったプロパティがありませんから、実行時に選択されているセルの行番号と列番号を取得して、それぞれ変数に格納しておいてから、
With Selection Dim r As Long, c As Long With .Cells(1) r = .RowIndex c = .ColumnIndex
TableオブジェクトのCellメソッドに指定する引数で、行番号を1加算することで、1つ下のセルを取得・選択しています。
With Selection .Tables(1).Cell(r + 1, c).Select
Excel VBAの場合、Range.Rowプロパティで行番号を、Range.Columnプロパティ列番号を取得できますが、Word VBAの場合はCell.RowIndexプロパティ・Cell.ColumnIndexプロパティです。
With .Cells(1) r = .RowIndex c = .ColumnIndex
カーソルが表内にないときに実行時エラーが発生しないように、Selection.Informationプロパティを使って、表内にカーソルがなければSubプロシージャから抜ける処理を最初に入れています。
With Selection If Not .Information(wdWithInTable) Then Exit Sub
最終更新日時:2022-07-07 14:29
Home » ワードマクロ・Word VBAの使い方 » Selection » Word VBAで1つ下のセルを取得・選択する