Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » Word VBAで選択セルの表内行番号・列番号を取得-Selection.Information

Word VBAで選択セルの表内行番号・列番号を取得-Selection.Information

動作検証バージョン:64bit Windows 10 Pro + 32bit Word(バージョン2004 ビルド12730.20236 Microsoft Store)

「word vba 表の選択中の行番号取得」
といった検索キーワードでアクセスがありました。

表のセルが選択されているときに、そのセルが表の何行目に存在しているのかをWord VBAで調べるには、どのようなコードを書けばいいのか探していた方による検索でしょうか。

[スポンサードリンク]

選択セルの表内行番号・列番号を取得するサンプル

以下のSubプロシージャを実行すると、選択されているセルが、表の何行目・何列目にあるかがメッセージボックスに表示されます。

Sub 選択セルの表内行番号と列番号を取得する()
 With Selection
  If Not .Information(wdWithInTable) Then
   MsgBox "表を選択した状態で実行してください。"
   Exit Sub
  End If

  MsgBox "選択セルは表の、" & _
    .Information(wdStartOfRangeRowNumber) & "行目" & _
    .Information(wdStartOfRangeColumnNumber) & "列目 です。"
 End With
End Sub

サンプルで行っている処理について

選択されているセルの行番号・列番号を取得しているのは、後半の
 With Selection
    .Information(wdStartOfRangeRowNumber) & "行目" & _
    .Information(wdStartOfRangeColumnNumber) & "列目 です。"
です。

表選択時に、Selectionオブジェクトに用意されているInformationプロパティの引数に、

WdInformation列挙に定義されている定数wdStartOfRangeRowNumberを指定すれば、

表の中で何行目なのかを、
定数wdStartOfRangeColumnNumberを指定すれば、

列番号を、それぞれ取得できます。

表内にカーソルがないときに上述の、
  Selection.Information(wdStartOfRangeRowNumber)
  Selection.Information(wdStartOfRangeColumnNumber)
が実行されると実行時エラーが発生してしまいますから、それを避けるために、事前にカーソルが表内にあるかを確認しています。
  With Selection
   If Not .Information(wdWithInTable) Then
    MsgBox "表を選択した状態で実行してください。"
    Exit Sub

セル範囲が選択されているときの最終行番号・列番号を取得する

wdStartOfRangeRowNumber・wdStartOfRangeColumnNumberといった定数名から推測できるとおり、セル範囲が選択されている場合には最初のセルの行番号・列番号が取得できます。

選択しているセル範囲の最終行番号・最終列番号を取得したい場合は、定数wdEndOfRangeRowNumber・wdEndOfRangeColumnNumberを使った、
  Selection.Information(wdEndOfRangeRowNumber)
  Selection.Information(wdEndOfRangeColumnNumber)
です。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » Word VBAで選択セルの表内行番号・列番号を取得-Selection.Information

「表・テーブル」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.