私の仕事では、多くのテーブルを含むドキュメントを作成する必要があります。

これらのテーブルは、セルを空にすることはできないという要件を含め、厳密な構造に従う必要があります。 (セルが空の場合は、「N / A」の文字が含まれている必要があります。)

テーブルに対するこの要件の処理を支援するために、テーブルを調べて、必要に応じてN / A文字を追加するマクロを作成しました。私がする必要があるのは、ターゲットテーブル内に挿入ポイントを配置してから、次のマクロを実行することです。

Sub AddTableNA()

Dim NumRows As Integer     Dim NumCols As Integer     Dim J As Integer     Dim K As Integer     Dim ChkTxt As String

If Not Selection.Information(wdWithInTable) Then         Exit Sub     End If

NumRows = Selection.Tables(1).Rows.Count     NumCols = Selection.Tables(1).Columns.Count

'Loop to select each row in the current table     For J = 1 To NumRows         'Loop to select each cell in the current row         For K = 1 To NumCols             'Select the cell to check             Selection.Tables(1).Rows(J).Cells(K).Select             'Copy any text in the cell             ChkTxt = Selection.Text             'Strip off the last 2 characters (removes end of cell marker)

ChkTxt = Left(ChkTxt, Len(ChkTxt) - 2)

'If empty, add "n/a" text             If (ChkTxt = "") Then Selection.TypeText ("N/A")

Next K     Next J End Sub

マクロは最初に、挿入ポイントがテーブル内にあるかどうかを確認します。

そうでない場合、マクロは早期に終了します。その場合、NumRows変数とNumCols変数は、それぞれテーブルの行数と列数に設定されます。

次に、マクロは各行の各セルをステップスルーし、セルに何かが含まれているかどうかを判断します。 Wordがテーブルを作成する方法により、セルには、他に何も含まれていない場合でも、常に何か(セルの終わりマーカー)が含まれます。解決策は、セル内のテキストの末尾から2文字を減算して、何かが残っているかどうかを確認することでした。そうでない場合は、「N / A」の文字がセルに入力されます。

注:

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

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

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