Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » Word VBAでセルの列番号を取得する

Word VBAでセルの列番号を取得する

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

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

[スポンサードリンク]

セルの列番号を取得するサンプルマクロ

以下のSubプロシージャが参考になるでしょうか。

Sub カーソルが置かれているセルの列番号を取得する()
 With Selection
  If .Information(wdWithInTable) Then
   MsgBox .Cells.Item(1).ColumnIndex
  Else
   MsgBox "表内にカーソルを置いてから実行してください。"
  End If
 End With
End Sub

表の中にカーソルを置いて上記のSubプロシージャを実行すると、カーソルが置かれているセルの列番号(何列目かを表す数値)がメッセージボックスに表示されます。

セルの列番号を取得するオブジェクト式について

上記のSubプロシージャで利用しているオブジェクト式(オブジェクトを取得するコード)の意味は、以下のとおりです。

Selectionオブジェクトに用意されているCellsプロパティで、
  With Selection
    MsgBox .Cells.Item(1).ColumnIndex
選択されている1つまたは複数のセルを表すCellsコレクションを取得し、

取得したCellsコレクションに用意されているItemメソッドで、
  With Selection
    MsgBox .Cells.Item(1).ColumnIndex
1つのセルを表すCellオブジェクトを取得し、

Cellオブジェクトに用意されているColumnIndexプロパティで、
  With Selection
    MsgBox .Cells.Item(1).ColumnIndex
セルの列番号を取得しています。

既定メンバーのため「.Item」は省略可能

拙著『いちばんやさしいPowerPoint VBAの教本』の「Lesson 10 コレクションについて確認しましょう」でも解説しているとおり、Itemメソッドはコレクションの既定メンバーですから、「.Cells.Item(1).ColumnIndex」は「.Item」を省略して「.Cells(1).ColumnIndex」と書くこともできます。

実行時エラー回避のために

表内にカーソルが存在していないときに、Selection.Cellsプロパティを利用すると実行時エラーが発生しますから、Selectionオブジェクトに用意されているInformationプロパティの引数に

WdInformation列挙型に定義されている定数wdWithInTableを指定して

  With Selection
   If .Information(wdWithInTable) Then
    MsgBox .Cells.Item(1).ColumnIndex
表内にカーソルが存在するかどうかを判定しています。

最終更新日時:2021-04-26 15:12

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » Word VBAでセルの列番号を取得する

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

検索


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

.