テーブルを操作するときは、特定のセルの参照を知る必要があることがよくあります。特定の関数またはフィールドの場合、Wordは、多くの読者がExcelで使い慣れている列/行形式を使用してセル参照が指定されることを想定しています。たとえば、A1は左上のセル、B1は右に1つのセル、A2は最初のセルの1つ下のセルです。

残念ながら、選択したセルの参照を通知するWordの固有の機能はありません。この問題は、マクロを使用して回避できます。次のサンプルマクロは、ステータスバーに、挿入ポイントが配置されている現在の列と行を返します。

Sub CellRef()

Const clngAOffset As Long = 64     ' Word's maximum columns is 64, but this procedure     ' can cope up to clngMaxCols columns     Const clngMaxCols As Long = 702     Dim lngRow As Long, lngCol As Long     Dim strCol As String

' See if in table     If Selection.Information(wdWithInTable) Then         ' Get column and row numbers         lngCol = Selection.Information(wdStartOfRangeColumnNumber)

lngRow = Selection.Information(wdStartOfRangeRowNumber)

' Convert column number to letter         Select Case lngCol         Case Is < 27             ' Single character column reference             strCol = Chr$(clngAOffset + lngCol)

Case Is > clngMaxCols             MsgBox "Table is too big"

Exit Sub         Case Else             ' Two-character column reference             strCol = Chr$(clngAOffset + Fix((lngCol - 1) / 26))

strCol = strCol & Chr$(CLng(clngAOffset + 1 _               + ((lngCol - 1) Mod 26)))

End Select         ' Show column, row, and cell reference in status bar         StatusBar = "Col:" & lngCol & "/Row:" & lngRow _           & " = Cellref: " & strCol & CStr(lngRow)

End If End Sub

マクロを実行すると、要求された情報がステータスバーに次の形式で表示されます。

Col:2/Row:1 = B1

マクロは、Wordがネイティブに処理するよりも多くのディメンションを持つテーブルを処理することに注意してください。これは恣意的に行われたのではありません。プログラムでは、テーブルの702番目の列(ZZ)を返すのは、64番目の列(BL)を返すのと同じくらい簡単です。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(13093)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice 365のWordに適用されます。このヒントのバージョンは、ここにWordの古いメニューインターフェイス: