「word vba 表の列番号」
「word vba 表 列番号を取得」
といった検索キーワードで、アクセスがありました。
セルの列番号を取得するサンプルマクロ
以下の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
- Newer:ローカルウィンドウでのデータ変更もお試しください
- Older:VBAでプレースホルダーのサイズを取得する
Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » Word VBAでセルの列番号を取得する