Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » Word VBAで表のセルに文字列を入力する

Word VBAで表のセルに文字列を入力する

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

「vba word 表 文字 挿入」
「word vba 表のセルに入力」
といった検索キーワードで、時折アクセスがあります。

「word vba 表のセルの値を書き換える」
といった検索キーワードでのアクセスもあります。

表のセルに文字列を入力するサンプル

アクティブなWord文書に表を作成しておいてから、以下のSubプロシージャを実行してみてください。

Sub 表のセルにデータを入力する()
 With ActiveDocument.Tables(1)
  Dim r As Long, c As Long
  For r = 1 To .Rows.Count
   For c = 1 To .Columns.Count
    .Cell(r, c).Range.Text = r & "行 × " & c & "列目"
   Next c
  Next r
 End With
End Sub

サンプルマクロで行っている処理

2重ループの構造

アクティブなWord文書の1つ目の表を表すTableオブジェクトの、
  With ActiveDocument.Tables(1)

1行目から最後の行まで処理するFor~Next文の中で、
   Dim r As Long, c As Long
   For r = 1 To .Rows.Count

1列目から最後の列まで処理するFor~Next文を回しています。
    For c = 1 To .Columns.Count

Table.Cell(r, c).Range.Textの意味

この2重のFor~Next文の中で、Tableオブジェクトに用意されているCellメソッドを呼んで、
  With ActiveDocument.Tables(1)
     .Cell(r, c).Range.Text = r & "行 × " & c & "列目"

表のセルを表すCellオブジェクトを取得しています。

Table.Cellメソッドには、行番号と列番号を引数に指定する必要があり、

上記のSubプロシージャでは2重のFor~Next文で使っているカウンター変数r・cを指定しています。
     .Cell(r, c).Range.Text = r & "行 × " & c & "列目"

取得したCellオブジェクトに用意されているRangeプロパティを使って、
     .Cell(r, c).Range.Text = r & "行 × " & c & "列目"

セル内の文字列範囲を表すRangeオブジェクトを取得して、

RangeオブジェクトのTextプロパティを使って、文字列を入力しています。
     .Cell(r, c).Range.Text = r & "行 × " & c & "列目"

最終更新日時:2021-07-16 16:28

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » Word VBAで表のセルに文字列を入力する

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

検索


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

.