【Word VBA】選択セルの開始位置と終了位置を取得する

2019年2月14日

現在作成中のマクロで表の開始セルと終了セルを取得する必要がありましたのでサンプルコードを書いてみました。

このマクロでできること

表を選択している場合に、開始セルと終了セルの位置を取得します。

セルを選択した状態でマクロを実行すると、以下のようにダイアログが表示されます。

カーソルが表内にない場合には何も実行されません。

マクロの解説

カーソルが表内にあるかどうかを8行目で判定しています。

選択範囲内のセルの位置は、Informationプロパティで取得できます。

マクロ


Sub 選択セルの開始位置と終了位置を取得()

 Dim Row_Start As Integer
 Dim Row_End As Integer
 Dim Column_Start As Integer
 Dim Column_End As Integer

 If Selection.Information(wdWithInTable) = False Then Exit Sub

 With Selection
  Row_Start = .Information(wdStartOfRangeRowNumber)
  Column_Start = .Information(wdStartOfRangeColumnNumber)
  Row_End = .Information(wdEndOfRangeRowNumber)
  Column_End = .Information(wdEndOfRangeColumnNumber)
 End With
 
 MsgBox "開始:(" & Row_Start & ", " & Column_Start & ")" & vbCr & _
     "終了:(" & Row_End & ", " & Column_End & ")", vbInformation, "選択範囲"
 
End Sub

-コード
-,